---
# System prepended metadata

title: Brainstorming for icon4py short-term performance
tags: [brainstorming, performance, icon4py]

---

# Brainstorming for icon4py performance (short-term)

### Ideas without changing gt4py
- Collect total run-time per fused-stencil in icon4py with the performance tools and evaluate potential performance gains per-stencil.
- Select the best optimizations strategy individually per stencil and measure total performance gain. Liskov addition and fine-tuning in the CMake compilation

### Strategies for partial combined IR

#### Steps that are cleanups

- StencilClosure to apply_stencil builtin is a cleanup (including remove FencilWithTemporaries)
- Introduce index from dimension https://hackmd.io/U_f4p-GlTcOKF85fZ4Ck0A

#### Steps that are needed, but unclear how clean they are

- domain builtins, do we need them?
    - TODO: try auto_domain, but look at as_offset in more detail. Boundary conditions: Should work.
- short-cut for `as_offset` needed?