Releases: devitocodes/devito
Releases · devitocodes/devito
v4.8.22
Changes
- fix: permute Data._decomposition and _modulo on transpose (fixes #2187) @gaoflow (#2938)
- ci: Pluralise inputs @JDBetteridge (#2875)
- compiler: Tweak use of degenerating_indices when determining iteration directions @EdCaunt (#2873)
- ci: Add UID to the dockertag @JDBetteridge (#2861)
- misc: Remove decrepit singularity def file @EdCaunt (#2860)
API
- api: add mul interp mode @mloubout (#2788)
- api: Fix handling of staggering in injection/interpolation @mloubout (#2936)
- api: fix injection expression indices @mloubout (#2927)
- api: allow spacing as grid input @mloubout (#2904)
- api: add support for no interp (interp_order=0) @mloubout (#2885)
Compiler
- compiler: Fix buffer stride runtime mismatch @mloubout (#2950)
- compiler: Minor tweaks to enable integrated NCU-based profiling @FabioLuporini (#2937)
- mpi: Drop dual mode and tweak overlap2/full modes for GPU backends @JDBetteridge (#2926)
- compiler: catch corner case read after write @mloubout (#2909)
- compiler: fix printing of nd pointers @mloubout (#2911)
- compiler: Add support for IBM Spectrum MPI @JDBetteridge (#2907)
- compiler: move launch check injection to later in compilation pipeline @EdCaunt (#2903)
- compiler: Enhance IterationSpace.translate @FabioLuporini (#2905)
- compiler: fix halo placement for non out dim exchange @mloubout (#2892)
- compiler: Add symbolic_strides property @FabioLuporini (#2897)
- dsl: Add ReduceMinMax construct for joint minmax reductions @FabioLuporini (#2890)
- compiler: Enhance detect_accesses and patch symbolic padding @FabioLuporini (#2886)
- compiler: fix operator arg processing and subsampling size @mloubout (#2883)
- compiler: Misc enhancements for lowering of parlang backends @FabioLuporini (#2878)
- compiler: Pass kwargs when invoking compiler passes @FabioLuporini (#2859)
- compiler: Patch degenerating_dimensions to catch SteppingDimensions over size 1 buffer @EdCaunt (#2869)
- compiler: revert skip empty alias @mloubout (#2867)
- compiler: Improve scalar aliases detection and scheduling @mloubout (#2858)
- compiler: Enhance IR to support more advanced parlang (CUDA/HIP/SYCL) features @FabioLuporini (#2840)
MPI
- mpi: fix halo ispace with subdomains @mloubout (#2908)
- compiler: Add support for IBM Spectrum MPI @JDBetteridge (#2907)
- compiler: fix halo placement for non out dim exchange @mloubout (#2892)
Architectures and JIT
- compiler: restrict nested parallelism to supported compilers (intel) @mloubout (#2923)
- compiler: Add support for IBM Spectrum MPI @JDBetteridge (#2907)
- arch: make deviceid moe felxible with cuda/rocm env vars @mloubout (#2906)
- compiler: load so directly when source is missing (e.g deleted c file) @mloubout (#2888)
🐛 Bug Fixes
- compiler: Fix buffer stride runtime mismatch @mloubout (#2950)
- arch: Fix Compiler.load in multiprocess scenario @FabioLuporini (#2952)
- compiler: Fix SizeOf reconstruction @FabioLuporini (#2946)
- compiler: Fixup DefFunction reconstruction @FabioLuporini (#2945)
- compiler: Tweak scheduling of scalar aliases in the presence of guards @FabioLuporini (#2942)
- compiler: Fix ComponentAccess.dtype @FabioLuporini (#2935)
- dsl: Warn if shrinking SpaceDimension bounds @FabioLuporini (#2934)
- compiler: misc sparse bug fixes @mloubout (#2912)
- compiler: Fix efunc abstraction for MinMax pragma-based kernels @FabioLuporini (#2891)
- Hotfix check_array @FabioLuporini (#2889)
- compiler: fix operator arg processing and subsampling size @mloubout (#2883)
- compiler: Fixup halo exchange with sequentially-iterated, distributed dimensions @FabioLuporini (#2882)
Testing
- JDBetteridge/Composite actions @JDBetteridge (#2868)
Continuous Integration
- CI: prevent dependabot from updating lower bound of deps @mloubout (#2919)
- JDBetteridge/Composite actions @JDBetteridge (#2868)
Installation
- misc: Move pytest.ini to pyproject.toml @JDBetteridge (#2922)
- CI: revert bad dependabot bound updates @mloubout (#2918)
- pip prod(deps): update pytest requirement from <9.1,>=7.2 to >=9.0.3,<9.1 @dependabot[bot] (#2901)
- pip prod(deps): update cgen requirement from <2026,>=2020.1 to >=2025.1,<2026 @dependabot[bot] (#2900)
- pip prod(deps): update psutil requirement from <8.0,>=5.1.0 to >=7.2.2,<8.0 @dependabot[bot] (#2899)
- pip prod(deps): update flake8-pyproject requirement from <1.2.5,>=1.2.3 to >=1.2.4,<1.2.5 @dependabot[bot] (#2898)
- gh(deps): bump conda-incubator/setup-miniconda from 3 to 4 @dependabot[bot] (#2902)
- pip prod(deps): update packaging requirement from <26.1 to <26.2 @dependabot[bot] (#2887)
- pip prod(deps): update distributed requirement from <2026.1.3 to <2026.3.1 @dependabot[bot] (#2872)
- pip prod(deps): update pytest-cov requirement from <7.0.1 to <7.1.1 @dependabot[bot] (#2874)
- gh(deps): bump release-drafter/release-drafter from 6 to 7 @dependabot[bot] (#2876)
- gh(deps): bump codecov/codecov-action from 5 to 6 @dependabot[bot] (#2877)
- pip prod(deps): update fsspec requirement from <2026.2.1 to <2026.3.1 @dependabot[bot] (#2879)
- pip prod(deps): update pillow requirement from <12.1.2,>11 to >11,<12.2.1 @dependabot[bot] (#2880)
- gh(deps): bump docker/setup-qemu-action from 3 to 4 @dependabot[bot] (#2864)
- gh(deps): bump docker/metadata-action from 5 to 6 @dependabot[bot] (#2862)
- gh(deps): bump docker/setup-buildx-action from 3 to 4 @dependabot[bot] (#2863)
- gh(deps): bump docker/login-action from 3 to 4 @dependabot[bot] (#2865)
- gh(deps): bump docker/build-push-action from 6 to 7 @dependabot[bot] (#2866)
- pip prod(deps): update ipyparallel requirement from <9.1 to <9.2 @dependabot[bot] (#2870)
- JDBetteridge/Composite actions @JDBetteridge (#2868)
- pip prod(deps): update cupy-cuda12x requirement from <14.0.1 to <14.0.2 @dependabot[bot] (#2857)
New Contributors
Full Changelog: v4.8.21...v4.8.22
v4.8.21
Changes
- tests: Add an additional test for loop scheduling @EdCaunt (#2835)
- api: Extend side API to all derivative operator shortcuts @EdCaunt (#2811)
- Add separate images for CUDA 12 @JDBetteridge (#2785)
- misc: Miscellaneous corner cases fixes @mloubout (#2730)
- compiler: split alloc and init @mloubout (#2744)
API
- Tens stagg fix @mloubout (#2854)
- api: fix interpolate with complex dtype @mloubout (#2849)
- api: fix interp/eval of expressions @mloubout (#2843)
- compiler: add rudimentary support for multi-cond buffering @mloubout (#2838)
- api: fix evaluation with different time dims @mloubout (#2828)
- misc: Scrap _rcls on Reconstructable since it's unused @EdCaunt (#2821)
- api: fix staggered evaluation for add/mul @mloubout (#2782)
- Stagg param @mloubout (#2768)
- api: add interpolation order api for staggered/off grid evaluation @mloubout (#2754)
- api: Patch staggered FD for function on subdomain @mloubout (#2749)
- api: avoid double fill in initializer @mloubout (#2745)
- api: Fix SparseFunction distributor setup @mloubout (#2739)
- api: fix arg processing for conditon+factor @mloubout (#2736)
- dsl: Superstep @JDBetteridge (#2658)
- api: fix derivatives kw for tensors @mloubout (#2723)
- api: fix pickling of custom sparse functions with more than one dim @mloubout (#2725)
Examples
- dsl: Superstep @JDBetteridge (#2658)
- examples: Dispersion relation preserving notebook @JDBetteridge (#2595)
Documentation
- dsl: Superstep @JDBetteridge (#2658)
- examples: Dispersion relation preserving notebook @JDBetteridge (#2595)
Compiler
- compiler: add rudimentary support for multi-cond buffering @mloubout (#2838)
- compiler: Turn aliases' choose() into an instance method @FabioLuporini (#2839)
- compiler: Introduce heuristic for loop fission @FabioLuporini (#2837)
- compiler: fix buffering with multiple conditions @mloubout (#2826)
- Remove PGI compiler and add shared object versioning to nvcc @JDBetteridge (#2784)
- compiler: Improve alias scheduling @FabioLuporini (#2802)
- compiler: Add special types for device operations @FabioLuporini (#2794)
- compiler: Add cire-minmem optoption @FabioLuporini (#2792)
- compiler: Add Guards.pairwise_or @FabioLuporini (#2776)
- compiler: Enhance Dereference @FabioLuporini (#2762)
- compiler: Intify StencilDimension attributes @FabioLuporini (#2755)
- compiler: Enable late evaluation @FabioLuporini (#2752)
- compiler: Avoid premature expansion of avg just like derivs @FabioLuporini (#2750)
- compiler: Implement auto-simplification of GuardExpr @FabioLuporini (#2742)
- compiler: Enforce indexed weights as rightmost arg @FabioLuporini (#2738)
- compiler: Add GuardExpr utility class @FabioLuporini (#2734)
- compiler: Enhance Array codegen @FabioLuporini (#2728)
GPU
- compiler: Make nbytes available mapper aware of visible devices environment variables @EdCaunt (#2746)
Architectures and JIT
- arch: prevent erroring at init in isolation @mloubout (#2815)
- test: Enhance tests for interaction between deviceid and visible devices @EdCaunt (#2791)
- arch: support rocm7 @mloubout (#2766)
🐛 Bug Fixes
- compiler: prevent padding non inner-most dim @mloubout (#2855)
- compiler: Tweak break_for_parallelism @FabioLuporini (#2833)
- compiler: Avoid empty Clusters @FabioLuporini (#2820)
- compiler: Fixup AbstractSymbol._subs @FabioLuporini (#2810)
- compiler: Fixup SafeInv.is_commutative @FabioLuporini (#2809)
- misc: Un-cargo-cult switchenv @JDBetteridge (#2769)
- api: fix subdimension thickness type @mloubout (#2758)
- compiler: Make nbytes available mapper aware of visible devices environment variables @EdCaunt (#2746)
- api: patch empty size @mloubout (#2737)
- dsl: Fix SubDomainSet auxiliary dimension name to avoid clashes @EdCaunt (#2731)
- dsl: JDBetteridge/derivative hotfix @JDBetteridge (#2714)
- api: fix derivatives kw for tensors @mloubout (#2723)
- api: fix sparse positon match with -1 @mloubout (#2726)
- api: fix pickling of custom sparse functions with more than one dim @mloubout (#2725)
Continuous Integration
- misc: Fix spelling of yaml in release drafter @JDBetteridge (#2823)
- misc: Ruff @JDBetteridge (#2771)
- ci: remove explicit gcc version for mpi ci @mloubout (#2787)
Installation
- pip prod(deps): update cupy-cuda12x requirement from <13.6.1 to <14.0.1 @dependabot[bot] (#2851)
- deps: Add back support for numpy 1.26 @mloubout (#2848)
- pip prod(deps): update pooch requirement from <1.8.3 to <1.9.1 @dependabot[bot] (#2842)
- pip prod(deps): update dask-cuda requirement from <25.12.1 to <26.2.1 @dependabot[bot] (#2845)
- pip prod(deps): update fsspec requirement from <2026.1.1 to <2026.2.1 @dependabot[bot] (#2846)
- pip prod(deps): update pillow requirement from <12.1.1,>11 to >11,<12.1.2 @dependabot[bot] (#2847)
- pip prod(deps): update ipympl requirement from <0.9.9 to <0.10.1 @dependabot[bot] (#2829)
- pip prod(deps): update distributed requirement from <2026.1.2 to <2026.1.3 @dependabot[bot] (#2841)
- pip prod(deps): update packaging requirement from <25.1 to <26.1 @dependabot[bot] (#2830)
- pip prod(deps): update distributed requirement from <2025.12.1 to <2026.1.2 @dependabot[bot] (#2825)
- pip prod(deps): update pillow requirement from <12.0.1,>11 to >11,<12.1.1 @dependabot[bot] (#2816)
- pip prod(deps): update distributed requirement from <2025.11.1 to <2025.12.1 @dependabot[bot] (#2817)
- pip prod(deps): update fsspec requirement from <2025.12.1 to <2026.1.1 @dependabot[bot] (#2824)
- pip prod(deps): update dask-cuda requirement from <25.10.1 to <25.12.1 @dependabot[bot] (#2806)
- pip prod(deps): update matplotlib requirement from <3.10.8 to <3.10.9 @dependabot[bot] (#2804)
- pip prod(deps): update fsspec requirement from <2025.10.1 to <2025.12.1 @dependabot[bot] (#2800)
- pip prod(deps): update flake8-pyproject requirement from <1.2.4,>=1.2.3 to >=1.2.3,<1.2.5 @dependabot[bot] (#2798)
- pip prod(deps): bump pyrevolve from 2.2.6 to 2.2.7 @dependabot[bot] (#2796)
- gh(deps): bump actions/checkout from 5 to 6 @dependabot[bot] (#2795)
- pip prod(deps): update pytest requirement from <8.5,>=7.2 to >=7.2,<9.1 @dependabot[bot] (#2789)
- pip prod(deps): update distributed requirement from <2025.10.1 to <2025.11.1 @dependabot[bot] (#2786)
- pip prod(deps): update fsspec requirement from <2025.9.1 to <2025.10.1 @dependabot[bot] (#2781)
- pip prod(deps): update cloudpickle requirement from <3.1.2 to <3.1.3 @dependabot[bot] (#2783)
- docker: Update Dockerfile.cpu to support PETSc docker image @ZoeLeibowitz (#2778)
- docker: Add arm support (gcc and nvidia) @mloubout (#2773)
- pip prod(deps): update distributed requirement from <2025.9.2 to <2025.10.1 @dependabot[bot] (#2765)
- pip prod(deps): update pillow requirement from <11.3.1,>11 to >11,<12.0.1 @dependabot[bot] (#2767)
- pip prod(deps): update mpi4py requirement from <4.1.1 to <4.1.2 @dependabot[bot] (#2763)
- pip prod(deps): update ipympl requirement from <0.9.8 to <0.9.9 @dependabot[bot] (#2761)
- pip prod(deps): update dask-cuda requirement from <25.8.1 to <25.10.1 @dependabot[bot] (#2760)
- pip prod(deps): update matplotlib requirement from <3.10.7 to <3.10.8 @dependabot[bot] (#2759)
- deps: bump numpy supported ver @mloubout (#2757)
- gh(deps): bump peter-evans/repository-dispatch from 3 to 4 @dependabot[bot] (#2756)
- misc: Expose compute-sanitizer in Dockerfile.nvidia @FabioLuporini (#2741)
- pip prod(deps): update distributed requirement from <2025.9.1 to <2025.9.2 @dependabot[bot] (#2735)
- pip prod(deps): update distributed requirement from <2025.7.1 to <2025.9.1 @dependabot[bot] (#2733)
- pip prod(deps): update pytest-cov requirement from <6.2.2 to <7.0.1 @dependabot[bot] (#2732)
- gh(deps): bump actions/setup-python from 5 to 6 @dependabot[bot] (#2729)
- pip prod(deps): update fsspec requirement from <2025.7.1 to <2025.9.1 @dependabot[bot] (#2727)
Full Changelog: v4.8.20...v4.8.21
v4.8.20
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
v4.8.19
Drop support for Python 3.9
Changes
Compiler
- compiler: Privilege default par-tile with rcompile @FabioLuporini (#2636)
- compiler: Make cse toposort stable @mloubout (#2633)
🐛 Bug Fixes
- compiler: fix deque pop order @mloubout (#2637)
- compiler: Make cse toposort stable @mloubout (#2633)
Installation
Full Changelog: v4.8.18...v4.8.19
v4.8.18
Changes
Compiler
- compiler: Address various compiler hotspots with operators containing large expression counts @EdCaunt (#2624)
Architectures and JIT
🐛 Bug Fixes
- compiler: Revamp MPI hoisting and merging @FabioLuporini (#2629)
Continuous Integration
Installation
- pip prod(deps): update pytest-cov requirement from <6.1.2 to <6.2.2 @dependabot[bot] (#2632)
- pip prod(deps): update fsspec requirement from <2025.3.3 to <2025.5.2 @dependabot[bot] (#2630)
- deps: Fix pyproject.toml @mloubout (#2628)
- ci: Fix pytest regression @enwask (#2623)
Full Changelog: v4.8.17...v4.8.18
v4.8.17
Drop support for numpy <2, sympy <1.12
Changes
- misc: Purge abc.abstractproperty as it is deprecated @EdCaunt (#2603)
- compiler: Blocked SubDimensions now use root dimension name @EdCaunt (#2600)
API
- api: fix kwargs processing for tensor functions @mloubout (#2604)
- api: Add DEVITO_DEVICE_DEFAULT env var @FabioLuporini (#2597)
- api: revamp subsampling factors to avoid duplicates @mloubout (#2575)
Compiler
- compiler: Add VectorAccess as an internal type @FabioLuporini (#2598)
MPI
- mpi: Fix halo exchanges from BundleViews @FabioLuporini (#2602)
Architectures and JIT
- arch: Improve GPU autodetection @FabioLuporini (#2614)
🐛 Bug Fixes
- arch: Use the node's max memory transaction size @FabioLuporini (#2619)
- mpi: Fix halo exchanges from BundleViews @FabioLuporini (#2602)
- compiler: Fixup factor overriding @FabioLuporini (#2601)
- api: revamp subsampling factors to avoid duplicates @mloubout (#2575)
Installation
- gh(deps): bump docker/setup-qemu-action from 2 to 3 @dependabot[bot] (#2618)
- gh(deps): bump docker/login-action from 2 to 3 @dependabot[bot] (#2617)
- gh(deps): bump release-drafter/release-drafter from 5 to 6 @dependabot[bot] (#2616)
- gh(deps): bump peaceiris/actions-gh-pages from 3 to 4 @dependabot[bot] (#2615)
- install: switch to dynamic version to avoid _version file issue @mloubout (#2613)
- misc: remove unnecessary files with pyproject @mloubout (#2612)
- gh(deps): bump peter-evans/repository-dispatch from 2 to 3 @dependabot[bot] (#2609)
- gh(deps): bump docker/setup-buildx-action from 2 to 3 @dependabot[bot] (#2608)
- gh(deps): bump docker/build-push-action from 3 to 6 @dependabot[bot] (#2607)
- gh(deps): bump docker/metadata-action from 4 to 5 @dependabot[bot] (#2610)
- gh(deps): bump codecov/codecov-action from 4 to 5 @dependabot[bot] (#2606)
- deps: Update minimal for sympy and numpy @mloubout (#2605)
- deps: Add upper bound to all deps to avoid surprises @mloubout (#2596)
Full Changelog: v4.8.16...v4.8.17
v4.8.16
Changes
API
Documentation
- misc: Update FAQ.md @FabioLuporini (#2590)
🐛 Bug Fixes
Installation
- deps: upper bound on codepy due to breaking latest @mloubout (#2594)
- api: Add retrocompat to is_imaginary for older sympy @mloubout (#2591)
Full Changelog: v4.8.15...v4.8.16
v4.8.15
Changes
API
- api: Fix staggering setup and tensor rebuilding @mloubout (#2583)
- dsl: Remove useless memory check (already done at alloc time) @FabioLuporini (#2563)
- dsl: ensure SparseFunction coordinates and point symbols are always real @EdCaunt (#2557)
Examples
- examples: Fix norm for space order 4 @ZoeLeibowitz (#2565)
Compiler
- compiler: Improve quality of generated code with Bundles and MPI @FabioLuporini (#2587)
- compiler: Fix issue 2577 - edit printer for unevaluation Mul @ZoeLeibowitz (#2578)
- compiler: Enrich Ops data structure @FabioLuporini (#2576)
- compiler: Allow str cast type @mloubout (#2566)
- compiler: Fix reduction multi_partile @mloubout (#2560)
- compiler: Tweak init_core/halo properties @FabioLuporini (#2558)
MPI
- mpi: Fix correctness of halo exchanges for Bundles @FabioLuporini (#2582)
🐛 Bug Fixes
- compiler: Avoid nvc++ array reductions and add MPI fallback @mloubout (#2589)
- compiler: Fix uxreplace behaviour with numeric expressions @FabioLuporini (#2571)
- compiler: Fix reconstruction/pickling of low level objects @FabioLuporini (#2567)
- compiler: revert broken reduce par_tile @mloubout (#2562)
Testing
- tests: Remove floating point equality assertions @JDBetteridge (#2539)
Continuous Integration
- Update 20.04 runners to 22.04 @JDBetteridge (#2584)
- CI: Ensure docker errors at test failure with codecov @ZoeLeibowitz (#2572)
Installation
- pip prod(deps): update anytree requirement from <=2.12.1,>=2.4.3 to >=2.4.3,<=2.13.0 @dependabot (#2580)
- deps: Add pillow version requirement @mloubout (#2568)
Full Changelog: v4.8.14...v4.8.15
v4.8.14
Changes
API
Documentation
- misc: Update advisor with oneAPI 2025 @georgebisbas (#2533)
Compiler
- api: Introduce complex numbers support (np.complex64/128) @mloubout (#2375)
- compiler: Enhance IR for GPU codegen @FabioLuporini (#2555)
🐛 Bug Fixes
- compiler: Fix update_properties @FabioLuporini (#2548)
Testing
Installation
- install: Add packaging to requirements @JDBetteridge (#2556)
Full Changelog: v4.8.13...v4.8.14
v4.8.13
Changes
API
Compiler
Architectures and JIT
🐛 Bug Fixes
- compiler: Fixup deterministic codegen @FabioLuporini (#2543)
Full Changelog: v4.8.12...v4.8.13