---
# System prepended metadata

title: '[GT4Py] Toolchain instrumentation'
tags: [cycle28 04/25]

---

# [GT4Py] Toolchain instrumentation

- Shaped by:
- Appetite (FTEs, weeks):
- Developers: <!-- Filled in at the betting table unless someone is specifically required here -->

## Problem

Advanced per-program customization of the toolchain for maximum performance and flexibility.  

## Appetite
1 cycle

## Solution

### Research

Investigate how we can provide a simple way of creating customized backends in ICON4Py. The main goal is to make it feasible in the short-term and come up with a sustainable approach for the long term. 

- Custom block sizes per program (gtfn & dace)
- K-blocking (gtfn & dace)
- inline-everything heuristics ?



## Rabbit holes
<!-- Details about the solution worth calling out to avoid problems -->

## No-gos
<!-- Anything specifically excluded from the concept: functionality or use cases we intentionally aren’t covering to fit the ## appetite or make the problem tractable -->

## Progress
<!-- Don't fill during shaping. This area is for collecting TODOs during building. As first task during building add a preliminary list of coarse-grained tasks for the project and refine them with finer-grained items when it makes sense as you work on them. -->

- [x] Task 1 ([PR#xxxx](https://github.com/GridTools/gt4py/pulls))
    - [x] Subtask A
    - [x] Subtask X
- [ ] Task 2
    - [x] Subtask H
    - [ ] Subtask J
- [ ] Discovered Task 3
    - [ ] Subtask L
    - [ ] Subtask S
- [ ] Task 4
