Changes
- CI: Cannot set
--env CUDA_VISIBLE_DEVICESfordocker runwhen using ng--gpus "device=${CUDA_VISIBLE_DEVICES:-all}"- dropping --env arg. @ggorman (#2710) - misc: switch to f-string throughout @mloubout (#2706)
- misc: Remove make-pbs.py @FabioLuporini (#2700)
- compiler: Hotfix the memory estimate for certain devices @EdCaunt (#2699)
- misc: Expand derivative touchup @JDBetteridge (#2695)
- misc: Remove decrepit folders @EdCaunt (#2663)
- misc: Switch mpi-x pub to ieee link @georgebisbas (#2688)
API
- dsl: Add an additional Border convenience class for boundary conditions @EdCaunt (#2646)
- compiler: Add a utility to estimate memory usage for an operator @EdCaunt (#2659)
- dsl: Expand derivative @JDBetteridge (#2559)
- misc: Add custom warnings functionality @JDBetteridge (#2692)
- api: fix custom coeffs with cross derivatives @mloubout (#2672)
Examples
- examples: Fix density handling in acoustic @mloubout (#2716)
- Clean notebook metadata @JDBetteridge (#2639)
Documentation
- docs: fix mmin/mmax docstring @mloubout (#2703)
- Clean notebook metadata @JDBetteridge (#2639)
Compiler
- compiler: prevent directions from non indexed @mloubout (#2704)
- compiler: Avoid generating parentheses when not needed @FabioLuporini (#2689)
- compiler: Pass the whole descriptor to buf_reuse cbk @FabioLuporini (#2687)
- compiler: Reapply "Cache
Scope+Dependenceinstances" @enwask (#2677) - compiler: Cache
Scope+Dependenceinstances @enwask (#2669) - compiler: fix conditional reductions @mloubout (#2671)
- compiler: fix temp/array alloc @mloubout (#2664)
- mpi: fix allreduce iteration space @mloubout (#2662)
- compiler: Lazy IET visitors + Search @enwask (#2621)
- compiler: add top description to generated file @mloubout (#2652)
MPI
- mpi: Prevent errors with single rank @mloubout (#2698)
- compiler: Fixup MPI over Arrays + arguments overriding @FabioLuporini (#2697)
- data: prevent mpi comm with single rank @mloubout (#2685)
- mpi: fix multi conditional for allreduce @mloubout (#2673)
- mpi: fix in-loop allreduce with multiple reductions @mloubout (#2668)
- mpi: fix allreduce iteration space @mloubout (#2662)
Architectures and JIT
🐛 Bug Fixes
- compiler: Hotfix estimate memory again @EdCaunt (#2707)
- compiler: prevent directions from non indexed @mloubout (#2704)
- compiler: Fixup MPI over Arrays + arguments overriding @FabioLuporini (#2697)
- compiler: Fixup nbytes-avail-mapper @FabioLuporini (#2654)
- compiler: Call set_device in pthreads @FabioLuporini (#2679)
- compiler: Add buf-reuse opt-option and rcompile caching @FabioLuporini (#2674)
- compiler: Fix HaloTouch hashing @FabioLuporini (#2676)
- Revert "compiler: Cache
Scope+Dependenceinstances" @mloubout (#2675) - mpi: fix multi conditional for allreduce @mloubout (#2673)
- compiler: Fix Bundle.symbolic_shape @FabioLuporini (#2665)
- compiler: Patch IterationSpace.intersection @FabioLuporini (#2647)
- compiler: Patch merge and reduction HaloScheme passes @FabioLuporini (#2645)
Continuous Integration
- compiler: improve rcompile @mloubout (#2719)
- Remove dangling layers. @ggorman (#2686)
- ci: Set CONTAINER_NAME within a step. @ggorman (#2684)
- ci: isolate GPU runners, respect CUDA_VISIBLE_DEVICES, drop global prunes @ggorman (#2680)
Installation
- pip prod(deps): update matplotlib requirement from <3.10.6 to <3.10.7 @dependabot[bot] (#2722)
- pip prod(deps): update cupy-cuda12x requirement from <13.5.2 to <13.6.1 @dependabot[bot] (#2720)
- gh(deps): bump actions/checkout from 4 to 5 @dependabot[bot] (#2709)
- pip prod(deps): update dask-cuda requirement from <25.6.1 to <25.8.1 @dependabot[bot] (#2705)
- install: Remove files and directories not needed for install @JDBetteridge (#2702)
- pip prod(deps): update matplotlib requirement from <3.10.4 to <3.10.6 @dependabot[bot] (#2694)
- pip prod(deps): bump pyrevolve from 2.2.5 to 2.2.6 @dependabot[bot] (#2678)
- pip prod(deps): update distributed requirement from <2025.5.2 to <2025.7.1 @dependabot[bot] (#2666)
- pip prod(deps): update fsspec requirement from <2025.5.2 to <2025.7.1 @dependabot[bot] (#2670)
- pip prod(deps): update cupy-cuda12x requirement from <13.4.2 to <13.5.2 @dependabot[bot] (#2661)
- pip prod(deps): update mpi4py requirement from <4.0.4 to <4.1.1 @dependabot[bot] (#2649)
- deps: Bump upper NumPy version to 2.3.1 @EdCaunt (#2653)
- pip prod(deps): update cgen requirement from <2021,>=2020.1 to >=2020.1,<2026 @dependabot[bot] (#2642)
- pip prod(deps): update pillow requirement from <11.2.2,>11 to >11,<11.3.1 @dependabot[bot] (#2651)
- pip prod(deps): bump pyrevolve from 2.2.4 to 2.2.5 @dependabot[bot] (#2650)
- pip prod(deps): update distributed requirement from <2025.4.2 to <2025.5.2 @dependabot[bot] (#2641)
- pip prod(deps): update scipy requirement from <1.15.3 to <1.15.4 @dependabot[bot] (#2648)
- pip prod(deps): update dask-cuda requirement from <25.4.1 to <25.6.1 @dependabot[bot] (#2644)
- pip prod(deps): update matplotlib requirement from <3.10.2 to <3.10.4 @dependabot[bot] (#2640)
Full Changelog: v4.8.19...v4.8.20