# Brainstorming Cycle 34 02/26 Decision: 1 long 8-weeks cycle Goals for the Quarter: - Make ICON4Py granules (dycore and diffusion) available upstream by March end or early April. - warm-bubble (submitted to ICCARUS March 16-20): because we can show the greenline is working (this quarter, but the blueline upstream can't be missed): JW multi-node has priority over Warm-Bubble single-node PMAP: - Move PMAP-LES to next Other things happening in the quarter: - muphys paper - SIAM PP conference ## Blueline - Upstreaming ICON4Py granule integration: ComIn (or py2fgen?) (Will, Christoph, Hannes) - Figure out in the shaping if ComIn is a viable approach, and also document the py2fgen plan - Upstream refactorings, e.g. swapped indices - Ensure documentation and tests - Session to explore, build and run BlueLine with C2SM (Annika, Matthieu, Mikael, Michael) - Ensure commonly used ICON output features (e.g., lat/lon intp and meteogram) work with nblocks_e=1 - spack 1.X update ((easily) enables newer NVHPC, libfabric, MPI, NCCL) (Can Matthieu come up with a plan/timeline?) - Nightly/weekly CI verification and performance runs of a real test case? (Christoph, Daniel, C2SM?) - Continuations: - Combine divergence damping coefficient calculation with other stencils ([PR#951](https://github.com/C2SM/icon4py/pull/951)) ## Greenline - [Warm bubble building blocks](https://hackmd.io/HvHaFPQrRP-8d9UzMA_Gkg?edit) (shaped by the group that made this document) - Continuations: - Halo construction - MPI testing - Likely finishable before next cycle - Benchmarking - Add AMD platform to benchmark-CI of standalone granules and stencil tests [Warm Bubble Shaping](https://hackmd.io/5ceTe0y2SZWJGZBwFDdMiQ?both) ## GT4Py/DaCe - Finish embedded implementation and add tests with `jax` / `jax.jit` (Enrique, Hannes) - embedded concat_where + as_offset + bugfix for shift with connectivity of same dim + codim - concat_where: infinite domain -> lazy field -> field refactoring??? - jax.numpy supported in testing - jax.jit as backend - Performance optimizations: - AMD GPU performance (Ioannis) - Someone tries to shape what we can do for balfrin performance (Christoph) - Tracer/Expandable parameter use-case (shaping, but not necessarily schedule Till, Enrique, Hannes; we should be at least able to start optimizing this use case) - caching bugs (Till, Enrique) - Address cache stability issue, related to offset provider, observed in AMD reframe tests - switching CPU <-> GPU backends - Improve GT4Py compile time / lowering performance & predictability, stability Motivation: Moving PMAP-LES to gt4py-next - GTFN passes cleanup. Requires an investigation how can we can transform the IR not just pre or post-order. - GTFN: Return K-only fields - Improve testing infrastructure - large programs that cover current weak points in gt4py which currently only surface in applications - Fuzzing / automatically generated programs validated against embedded - Generic types - Any or variable length tuple (e.g. for containers) - Union, Optional values - Support for passing callable types