Before pre-betting table: Name in parenthesis means, proposed by this person. After pre-betting table: Name in parenthesis means taking the lead in shaping. Please involve the right people or distribute the work. ## Blue line - Measure performance, extend Liskov / CMake to support selecting the mode for performance (Christoph, Till) - Continue combined stencils (Christoph, Nikki) - Risk: these stencils contain boundary conditions which can still be a problem for compile times (while better than before). We should check this in advance. - Performance benchmarking and correctness checking for running Python diffusion from ICON. (Sam, Abishek). ## Green line (Magdalena) - Integrate JW test case infrastructure (initial conditions, ...) - It would be nice to finally have all components of the JW test case in icon4py main. That would provide a starting ground for a first architecture refactoring round in up coming cycles. - metrics fields (from last cycle) - IO prototype - cleanup and finish (from last cycle) - initialize vertical grid coords: - The EXCLAIM experiments use the `SLEVE` vertical coordinate for the height levels. It can be read from a file (MCH experiment) or computed. - (maybe shaping/research) refactor IconGrid : domain start end, refin_ctl values. - the domain boundaries can be retrieved from the ICON grid, the implementation that we have is very faithful to the Fortran original and very confusing and should be refactored. ## GT4Py - Containers (pytree) (Enrique) - ITIR improvements: (Till, Hannes) - closure to `apply_stencil` / `map` + `if` - index builtin - if-stmts in ITIR (dependency on Type inference or requires adoption of existing type inference) - cleanup scalars - Experiment with lowering to `map`-itir for temporary placement (Till, Hannes) - Type inference on improved ITIR ~~(good task for Sara)~~, review Peter's work (Till) - Conceptual cleanups? (Enrique, Hannes) - shaping combined IR? - Strided ICON execution 2: uniform domain and GPU (Ioannis, Hannes) - jax.jit/xarray enabler ## DaCe - orchestration / progress on halo exchange library node (Christos, Fabian?) - [Edoardo] I am fine with the name "orchestration" as long as it is clear what this task is about. It is about generating a single CUDA/C++ program for an entire granule instead of doing it stencil by stencil. More advanced "orchestration" features require a GT4Py DaCe-backend. - [Hannes] Orchestration for me means getting more than a single GT4Py program into an SDFG, by DaCe parsing of driver code around the GT4Py programs. - [Christos] Work with Fabian to figure out how DaCe could do the halo exchange tuning, i.e. size of halos, patterns, etc. - JAX2DaCe from prototype to stable (Philip, Edoardo) - [Edoardo] As we discussed during the QPM, the focus for next 1-2 cycles should be on a JAX2DaCe backend for JAX programs. Likely, we will get some experience useful for the design of combined-IR. Also, another possible mid-term future outcome is the integration of JAX2DaCe in GT4Py programs using JAX-embedded backend.