API
- api: Relax custom coefficient spacing enforcement mloubout (2530)
- api: fix backward compatibility of Substitution, missing function check mloubout (2522)
- api: Misc fixes for builtins and harmonic averaging mloubout (2520)
- api: fix equation pickling mloubout (2490)
- api: more robust processing of custom weight with spacing mloubout (2489)
- api: fix pickling of sparse operations mloubout (2488)
- api: support custom coeffs for div/grad/curl mloubout (2486)
- dsl: Add ArgProvider inheritance to AbstractSymbol EdCaunt (2482)
- API: Fix Sparse rebuild with explicit empty subfunctions mloubout (2473)
- API: revamp cross derivative shortcuts mloubout (2458)
- api: revamp custom coefficients API mloubout (2434)
- API: Support harmonic averaging for parameter Function mloubout (2456)
- dsl: Improve Function rebuilding and use of preexisting arrays as Function data EdCaunt (2438)
- api: make sure staggered FD interpolates shifts mloubout (2439)
- types: Introduce abstract class LocalType ZoeLeibowitz (2433)
- api: Enforce sympy shifts mloubout (2471)
- api: fix derivative kwargs at call mloubout (2469)
Examples
- api: Misc fixes for builtins and harmonic averaging mloubout (2520)
- examples: Fix ADER notebook numbering EdCaunt (2450)
Documentation
- docs: Update CITATION.md georgebisbas (2499)
- docs: Elaborate on SubDomains for BCs w MPI georgebisbas (2491)
- examples: Enhance MPI notebook with paper material georgebisbas (2492)
- misc: Update FAQ EdCaunt (2481)
Compiler
- compiler: Misc extensions towards supporting thread block clustering FabioLuporini (2538)
- compiler: Misc improvements to code generation FabioLuporini (2516)
- compiler: fix scalar aliases from conditionals mloubout (2517)
- compiler: Rework HaloSpot optimization georgebisbas (2477)
- compiler: Expose Bundle's properties correctly FabioLuporini (2487)
- dsl: Move SubDimension thickness evaluation to the thicknesses themselves EdCaunt (2470)
- compiler: Improve CIRE's cost model FabioLuporini (2476)
- compiler: Add missing symbolic casts mloubout (2462)
- compiler: Remove counters from subdomains and automatically generate unique names EdCaunt (2431)
- compiler: Propagate metadata down to _arg_defaults FabioLuporini (2459)
- compiler: Minor tweaks for elastic code gen FabioLuporini (2453)
- compiler: Add various performance optimization variants FabioLuporini (2446)
- compiler: respect fetch direction mloubout (2441)
- dsl: Fix missing sympy assumptions during rebuilding EdCaunt (2436)
- compiler: Tweak par-tile unrolling and revamp MPI topology FabioLuporini (2426)
- misc: Revamp exception hierarchy FabioLuporini (2500)
- compiler: Tweak custom coefficients error handling FabioLuporini (2519)
- compiler: Add 'groupby' mode to MapNodes visitor ZoeLeibowitz (2502)
- compiler: Fix code generation for pow and fabs when using float32 JDBetteridge (2504)
MPI
- compiler: Rework HaloSpot optimization georgebisbas (2477)
Architectures and JIT
- arch: Support Grace arm architecture mloubout (2537)
- compiler: Support compiler flags for Cortex georgebisbas (2531)
- arch: make sure Device get thread config from host mloubout (2468)
- arch: Avoid deprecated compiler flags FabioLuporini (2461)
- arch: add rpath option to include_dirs mloubout (2466)
- arch: fix graviton march mloubout (2445)
🐛 Bug Fixes
- api: Fix custom coefficients inlining FabioLuporini (2524)
- api: fix backward compatibility of Substitution, missing function check mloubout (2522)
- compiler: Fixup pow_to_mul FabioLuporini (2518)
- compiler: Fix bug in concretization of conditionals containing Thicknesses EdCaunt (2510)
- compiler: Default CustomDimension.local to True FabioLuporini (2507)
- misc: Prevent builtins on transient functions FabioLuporini (2506)
- compiler: Avoid allocating Bundles on the host if transient FabioLuporini (2503)
- compiler: Generate fminf/fmaxf where necessary FabioLuporini (2501)
- api: fix alias for buffering mloubout (2497)
- api: fix equation pickling mloubout (2490)
- compiler: Fixup minor cire-rotate bug FabioLuporini (2472)
- API: revamp cross derivative shortcuts mloubout (2458)
- compiler: Hotfix and simplify minimize_symbols FabioLuporini (2452)
- compiler: Fix handling of modulo 1 for MPI mloubout (2451)
- compiler: Patch mapify-reduce for SparseTimeFunctions FabioLuporini (2449)
- dsl: Fix missing sympy assumptions during rebuilding EdCaunt (2436)
- compiler: Patch indirect ConditionalDimension FabioLuporini (2432)
- compiler: fix unevaluation of sparse cluster mloubout (2435)
- misc: Fix EnrichedTuple rebuilding enwask (2418)
- api: Make Derivative Reconstructable mloubout (2429)
- misc: Fix operator output with gflopss=None FabioLuporini (2496)
- misc: Fix operator output with OI=None FabioLuporini (2495)
Benchmarking
- misc: Fixup Profiler.add_global_vanilla FabioLuporini (2494)
Testing
- CI: Revert amd CI to a stable rocm for openmp offloading mloubout (2529)
- CI: update amd base to working ucx/rocm versions mloubout (2527)
- tests: Add test for using a Constant as a condition in a ConditionalDimension EdCaunt (2512)
Continuous Integration
- ci: Restore MPI notebook testing georgebisbas (2478)
Installation
- pip prod(deps): update psutil requirement from <7.0,>=5.1.0 to >=5.1.0,<8.0 dependabot (2535)
- pip prod(deps): update mpi4py requirement from <4.0.3 to <4.0.4 dependabot (2536)
- docker: add option to install gcc 14 mloubout (2532)
- CI: Revert amd CI to a stable rocm for openmp offloading mloubout (2529)
- pip prod(deps): update mpi4py requirement from <4.0.2 to <4.0.3 dependabot (2528)
- docker: update compilers to more recent versions mloubout (2526)
- deps: Update scipy ascent import ZoeLeibowitz (2514)
- pip prod(deps): update numpy requirement from <2.2,>1.16 to >1.16,<2.3 dependabot (2498)
- misc: Always search the CUDA SDK's math_libs include dir FabioLuporini (2480)
- pip prod(deps): update ipyparallel requirement from <8.9 to <9.1 dependabot (2479)
- pip prod(deps): update mpi4py requirement from <4.0.1 to <4.0.2 dependabot (2467)
- deps: fix deprecated pkg_resources mloubout (2463)
- pip prod(deps): update numpy requirement from <2.1,>1.16 to >1.16,<2.2 dependabot (2443)
- pip prod(deps): update mpi4py requirement from <3.1.7 to <4.0.1 dependabot (2430)
New Contributors
* enwask made their first contribution in https://github.com/devitocodes/devito/pull/2418
* JDBetteridge made their first contribution in https://github.com/devitocodes/devito/pull/2504
**Full Changelog**: https://github.com/devitocodes/devito/compare/v4.8.11...v4.8.12