Releases: devitocodes/devito
Releases · devitocodes/devito
v4.8.12
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 #2418
- @JDBetteridge made their first contribution in #2504
Full Changelog: v4.8.11...v4.8.12
v4.8.11
Changes
API
- api: Support combination of condition and factor for ConditionalDimension @mloubout (#2413)
- misc: minor miscelanous fixes @mloubout (#2406)
Compiler
- compiler: Bump default block size @FabioLuporini (#2412)
- compiler: Revamp MultiSubDimension lowering @FabioLuporini (#2411)
- compiler: fix cse with different conditionals @mloubout (#2410)
- compiler: Patch bug in SubDomainSet lowering @EdCaunt (#2408)
MPI
Architectures and JIT
- arch: fix switchconfig with new setup @mloubout (#2419)
- arch: Support more platforms @mloubout (#2415)
🐛 Bug Fixes
- compiler: Fix parlang reductions over >= 4 loops @FabioLuporini (#2417)
- api: Patch ConditionalDimension args @mloubout (#2414)
- compiler: fix cse with different conditionals @mloubout (#2410)
- misc: minor miscelanous fixes @mloubout (#2406)
Continuous Integration
Full Changelog: v4.8.10...v4.8.11
v4.8.10
v4.8.9
Changes
Compiler
- compiler: Default to index-mode=int32 @FabioLuporini (#2399)
- compiler: Yet another batch of compilation tweaks @FabioLuporini (#2396)
- compiler: Improve data streaming backend @FabioLuporini (#2390)
MPI
🐛 Bug Fixes
- compiler: Strengthen int32 error check @FabioLuporini (#2402)
- compiler: Patch CSE in presence of conditionals @FabioLuporini (#2392)
- MPI: Fix data assignement for single mpi rank and factor haloupdate @mloubout (#2394)
Installation
Full Changelog: v4.8.8...v4.8.9
v4.8.8
Changes
API
Compiler
- compiler: Revamp code generation for asynchronous operations @FabioLuporini (#2376)
- compiler: Tweaks to enable decoupling on GPUs @FabioLuporini (#2385)
🐛 Bug Fixes
- API: fix printer dtype processing @mloubout (#2388)
- mpi: Avoid UnboundLocalVariable error @FabioLuporini (#2386)
Continuous Integration
Installation
- deps: support numpy 2.0 @mloubout (#2391)
- pip prod(deps): update psutil requirement from <6.0,>=5.1.0 to >=5.1.0,<7.0 @dependabot (#2389)
Full Changelog: v4.8.7...v4.8.8
v4.8.7
Changes
API
- mpi: Fix data_gather for sparse functions @mloubout (#2379)
- API: Revamp sparse subfunction @mloubout (#2374)
- api: fix corner case staggered fd for centered x0 @mloubout (#2373)
- api: cleanup FD tools and support zeroth order derivative @mloubout (#2368)
Examples
- examples: Add an example notebook for ADER-FD schemes @EdCaunt (#2338)
- examples: fix tuto numbering for doc rendering @mloubout (#2367)
Documentation
Compiler
- compiler: Misc compiler improvements @FabioLuporini (#2380)
- compiler: Support for C-level MPI_Allreduce @FabioLuporini (#2344)
- compiler: sequentialise halo touch @mloubout (#2372)
- compiler: Fix placement of ConditionalDimension in subdomain @georgebisbas (#2050)
MPI
- mpi: Fix data_gather for sparse functions @mloubout (#2379)
- ci: tweak mpi setup to allow -s and hide output @mloubout (#2350)
Architectures and JIT
🐛 Bug Fixes
- tests: Fixup conftest's set_run_reset() @FabioLuporini (#2381)
- mpi: Fix data_gather for sparse functions @mloubout (#2379)
- dsl: Correct retention of wrong branch in filter_ordered @EdCaunt (#2377)
- api: Always expand time derivatives @mloubout (#2369)
- dsl: Patch edge-case derivative specifications @EdCaunt (#2366)
- compiler: Fix placement of ConditionalDimension in subdomain @georgebisbas (#2050)
Testing
Continuous Integration
- CI: fix decoupler config to use correct python @mloubout (#2382)
- arch: Ensure compiler check catches permission errors @gbruer15 (#2340)
Installation
- reqs: Update cached_property to functools version @EdCaunt (#2359)
- docker: Drop unused mpi4 and fix nvhpc mpi4py setup @mloubout (#2365)
New Contributors
Full Changelog: v4.8.6...v4.8.7
v4.8.6
v4.8.5
Fix Manifest.in
for missing pypi files
Full Changelog: v4.8.4...v4.8.5
v4.8.4
Changes
- compiler: Patch double buffering @FabioLuporini (#2247)
- compiler: Fix unexpansion w custom coeffs @FabioLuporini (#2242)
API
- api: Cleanup sparse setup for precomputed @mloubout (#2353)
- api: Add Hicks (sinc) interpolation api @mloubout (#2342)
- api: add priority to fd coefficients for mixed derivatives @mloubout (#2331)
- api: add support for 45 degree FD approx @mloubout (#2326)
- api: Fix custom fd for staggered @mloubout (#2323)
- api: Fix gpu-fit for TensorFunction @mloubout (#2285)
- misc: Switch off develop-mode @FabioLuporini (#2280)
- api: Minor fixes to arithmetic operations with scalar and tensors @mloubout (#2276)
- misc: Process args for subdimensions @mloubout (#2266)
- api: Add shift and fd order option to all FD operators: @mloubout (#2258)
- api: Always make subsampling factor symbolic @mloubout (#2259)
- api: prevent derivative shortcut with incompatible fd order @mloubout (#2254)
Examples
- examples: Interpolation tutorial notebook @mloubout (#2252)
- examples: Update MPI notebook to reference inner and outer halo terminology @EdCaunt (#2319)
- Correct the Poisson equation in the cavity flow example @rafael-fuente (#2308)
- example: small cleanup of tti for easier reuse @mloubout (#2294)
Documentation
- misc: Add MPI0 logging level @georgebisbas (#2130)
- examples: Fix typo in tutorial numbering @EdCaunt (#2356)
- misc: Docstring updates @ZoeLeibowitz (#2223)
Compiler
- compiler: Tweak check_stability to ensure cleanup is performed @FabioLuporini (#2335)
- compiler: Patch Guards.simplify_and @FabioLuporini (#2334)
- compiler: Enable generation of templated function declarations @FabioLuporini (#2333)
- compiler: Add optional pass for runtime stability check @FabioLuporini (#2327)
- compiler: Tweak Weights.value @FabioLuporini (#2328)
- compiler: Add Weights.value utility @FabioLuporini (#2322)
- compiler: Revamp lowering of IndexDerivatives @FabioLuporini (#2310)
- compiler: Revamp linearization @FabioLuporini (#2317)
- compiler: Adjust names used for cire-rotate dimensions @EdCaunt (#2305)
- compiler: Optimize normalize_reductions_dense @FabioLuporini (#2311)
- compiler: Generate less integer arithmetic @FabioLuporini (#2301)
- compiler: Misc codegen enhancements @FabioLuporini (#2300)
- compiler: Revamp data alignment @FabioLuporini (#2296)
- compiler: Improve IndexDerivative lowering @FabioLuporini (#2288)
- compiler: Misc code generation improvements @FabioLuporini (#2282)
- compiler: Fix handling of redundant derivatives @FabioLuporini (#2284)
- compiler: Introduce cluster-level Temp @georgebisbas (#2281)
- compiler: Add pass to abridge SubDimension names where possible @EdCaunt (#2269)
- compiler: Improve quality of generated code @FabioLuporini (#2263)
- compiler: Add missing numpy dtypes @mloubout (#2271)
- compiler: Machinery to generate vector types @FabioLuporini (#2253)
- compiler: Introduce symbolic fencing @FabioLuporini (#2244)
- compiler: Improve robustness of dspace derivation @FabioLuporini (#2238)
MPI
- misc: Add MPI0 logging level @georgebisbas (#2130)
- CI: revamp parallel marker @mloubout (#2347)
- mpi: Generate deterministic code for overlap mode @georgebisbas (#2303)
- MPI: Fix sparse subfunction handling when used without parent @mloubout (#2278)
- mpi: Fix haloupdate with inner dim [v2] @FabioLuporini (#2272)
- mpi: Add utility to get number of ranks on a single node @mloubout (#2265)
- dsl: Patch domain decomposition bug with SubDomains @EdCaunt (#2246)
Architectures and JIT
- Use get_nvidia_cc to get Nvidia gpu architecture @ggorman (#2343)
- arch: Add denormal flag for clang @mloubout (#2304)
- arch: patch compiler version @mloubout (#2297)
- example: small cleanup of tti for easier reuse @mloubout (#2294)
- arch: support rocm for gpu info @mloubout (#2261)
- compiler: add extra platforms and language to the custom compiler @mloubout (#2255)
- arch: Intel PVC mapping @FabioLuporini (#2215)
🐛 Bug Fixes
- compiler: Make code gen of elementary funcs dtype-aware @FabioLuporini (#2349)
- compiler: Tweak device-aware blocking @FabioLuporini (#2348)
- compiler: Hotfix unevaluation.Pow(1, ...) @FabioLuporini (#2321)
- compiler: Fix min/max reductions to be backend-portable @FabioLuporini (#2315)
- misc: Use
str
for generalization @mloubout (#2313) - compiler: Block reductions irrespective of par-tile @FabioLuporini (#2309)
- compiler: Fix space conditions with loop blocking @FabioLuporini (#2302)
- data: Prevent allocator info to be lost at finalize @mloubout (#2295)
- misc: Fix gpu-fit for multiple tensors @mloubout (#2286)
- compiler: Fix minor codegen issues after pickling @FabioLuporini (#2283)
- misc: Replace dimension check in pull_dims @EdCaunt (#2275)
- misc: fix short/ushort codegen @mloubout (#2274)
- mpi: Fix haloupdate with inner dim [v2] @FabioLuporini (#2272)
- misc: fix UnboundTuple for None partile @mloubout (#2256)
- compiler: Hotfix compare-ops @FabioLuporini (#2251)
- compiler: Patch compare_ops for IndexDerivatives @FabioLuporini (#2250)
- dsl: Patch domain decomposition bug with SubDomains @EdCaunt (#2246)
- compiler: Patch symbolic coefficients over cross derivatives @FabioLuporini (#2248)
- compiler: Patch custom coefficients @FabioLuporini (#2243)
Testing
Continuous Integration
- docker: fix oneapi setup @mloubout (#2351)
- ci: Update actions for nodejs version deprecation @georgebisbas (#2312)
- deps: Update rocm version @mloubout (#2291)
- compiler: Check DeviceFunctions for SubDimensions @EdCaunt (#2279)
Installation
- pip prod(deps): update ipyparallel requirement from <8.8 to <8.9 @dependabot (#2346)
- pip prod(deps): bump pyrevolve from 2.2.3 to 2.2.4 @dependabot (#2337)
- pip prod(deps): update ipyparallel requirement from <8.7 to <8.8 @dependabot (#2324)
- deps: prevent codecov error on local docker @mloubout (#2318)
- pip prod(deps): update pytest requirement from <8.0,>=7.2 to >=7.2,<9.0 @dependabot (#2299)
- deps: Update rocm version @mloubout (#2291)
- deps: support python 3.12 @mloubout (#2270)
- pip prod(deps): update anytree requirement from <=2.12.0,>=2.4.3 to >=2.4.3,<=2.12.1 @dependabot (#2268)
- pip prod(deps): update anytree requirement from <=2.11.1,>=2.4.3 to >=2.4.3,<=2.12.0 @dependabot (#2249)
- pip prod(deps): update anytree requirement from <=2.10.0,>=2.4.3 to >=2.4.3,<=2.11.1 @dependabot (#2241)
New Contributors
- @rafael-fuente made their first contribution in #2308
- @ZoeLeibowitz made their first contribution in #2223
Full Changelog: v4.8.3...v4.8.4
v4.8.3
Changes
- Andrew add tests to test operator 2194 @AndrewCheng827 (#2207)
API
- api: enforce interpolation radius to be smaller than any input space … @mloubout (#2234)
- api: cleanup SubDimension and SubDomain @mloubout (#2219)
- misc: various Dimension internal fixes @mloubout (#2205)
- api: Cleanup and improve SubFunction @mloubout (#2198)
- builtins: Support batched initialize_function @FabioLuporini (#2176)
- api: Revamp interpolation/injection @FabioLuporini (#2128)
Documentation
- Update FAQ.md @FabioLuporini (#2195)
- documentation: update ci for new website setup @mloubout (#2221)
Compiler
- compiler: prevent multisubdimension expressions duplicates @mloubout (#2230)
- compiler: prevent reduction clause for perfect-enough outer loops @mloubout (#2226)
- compiler: Rework multi-level buffering @FabioLuporini (#2225)
- compiler: Fix issue 2194 @AndrewCheng827 (#2212)
- compiler: prevent radius dependent temps for sparse operations @mloubout (#2216)
- api: Cleanup and improve SubFunction @mloubout (#2198)
- api: Revamp interpolation/injection @FabioLuporini (#2128)
🐛 Bug Fixes
- compiler: Patch cluster.is_sparse @FabioLuporini (#2232)
- compiler: Fix reduction over sparse only @mloubout (#2220)
- compiler: prevent temporary for local reductions @mloubout (#2218)
- compiler: prevent radius dependent temps for sparse operations @mloubout (#2216)
- compiler: fix arg processing for empty arg update @mloubout (#2213)
- misc: various Dimension internal fixes @mloubout (#2205)
Continuous Integration
Installation
- pip prod(deps): update anytree requirement from <=2.9.0,>=2.4.3 to >=2.4.3,<=2.10.0 @dependabot (#2233)
- deps: fix intel drivers @mloubout (#2228)
- ci: add intel missing gpu drivers @mloubout (#2227)
Full Changelog: v4.8.2...v4.8.3