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