---
# System prepended metadata

title: Brainstorming cycle 16
tags: [cycle 16]

---

Name in parenthesis means taking the lead in shaping. Please involve the right people or distribute the work.

## Green line

- maybe complete solve_non_hydro (ideally in cool down) (Abishek)
- Shape continuation of halo exchanges integration (Magdalena)
- Driving standalone Diffusion with (Florian's) grid manager (Will)
    - Will is vacationing until 11.08. 
- compute interpolation weights and metric fields (instead of taking from serialized data) (Magdalena)
    - for rbf interpolation weights verification might be difficult, maybe we want to keep them serialized for serialization 
- CSCS-ci for ICON4Py + branch protection rules (Rico?)
    - reduce usage of C2SM github action minutes
    - get access to GPUs
- Separate types for full level (nlev) and half-level (nlevp1) fields (Christoph)
- ~~Fine grained offline verification for green line with markers~~

## Blue line

- Tweak dycore for performance with better temporary placement (Christoph)
    - TODO check status of benchmark CI
    - TODO: check if or how much effort it is to configure the backend differently for different stencils
    - setup a (single node, 4 gpu) operational setup (i.e. big enough for performance measurement)
    - fuse the remaining stencil in icon4py
    - better temporary heuristic
    - (also tweak icon4py code?)
    - try to compare with NVIDIA performance (depends on access to code)
- Support for QUBICC namelist (in dycore) for benchmark comparison with NVIDIA implementations (Will)
    - only 2-4 flags different
- Mixed precision dycore (Daniel, Enrique)
    - TODO during shaping: check if GT4Py already supports type alias for this use-case
- Deal with nproma = num_cells issue (Christoph)
- Consolidation of CI we discussed in Davos (Jonas)
- Finish microphysics with all the tests (Chia Rui)
- Fused Liskov continuation (Daniel)
- Support for horizontal domain marker (Christoph+GT4Py)
    - This might require support for "index" type in gt4py/icon4py instead of indices being "int"
- ~~(CM) improve/refactor bindings generator~~


## GT4Py

- Embedded field view implementation (Enrique, Hannes)
- (GPU support in Python execution?) (Enrique)
    - AMD support
    - document caching behavior
- constant folding (main purpose: remove compile-time conditionals) (Till)
    - (if there is a small list of static values, should we compile several versions and run-time dispatch?)
- Cleanups from disabled tests (Till select some for shaping)
    - scan patterns requiring projector
        - would solve some type inference problems where we assign a tuple of bigger size to a tuple of smaller size
        - tests:
            - test_arg_call_interface.py
            - test_icon_like_scan.py
    - scan patterns requiring temporaries:
        - make them work with FORCE_INLINE?
    - tuples of scalars in bindings
        - tests:
            - test_execution.py:test_tuple_scalar_scan
    - IndexFields:
        - introduce a customization point for bindings creation
        - or: implement the index builtin
        - or: both
    - StridedNeighborOffsetProvider:
        - introduce a customization point for bindings
    - bindings support for atlas neighbor table:
        - introduce customization point
        - or: copy to our own buffer
    - Fix scalar if avoiding conditional on iterators
        - tests:
            - test_scalar_if.py
    - tuple[Column] vs column[Tuple] in embedded:
        - see https://github.com/GridTools/gt4py/pull/1141
        - tests:
            - test_icon_like_scan.py
            - test_tuple.py
    - Support for annotated assignments:
        - tests:
            - test_foast_to_itir.py
- ~~Expandable parameters~~
- ~~Replace itir constraint based type inference by simple forward propagation~~
- ~~continue optimization of temporary placement~~


## Other

