v4.2.3
github-actions
released this
05 Aug 22:51
·
3909 commits
to master
since this release
Synopsis
- Performance optimizations in the symbolic layer and generated code for x86, GPU and MPI.
- Various minor correctness and performance bug fixes.
- Improvements to application developer API.
- Added new tutorial notebooks.
- Increased test coverage - particularly for MPI and GPU's.
Backwards compatibility breaks and deprecations
None
Changes
- Restrict pytest to < 6.0 @rhodrin (#1411)
- pip prod(deps): update distributed requirement from <2.20 to <2.22 @dependabot (#1402)
- MPI minor bug fixes @rhodrin (#1408)
- mac notebook fix @rhodrin (#1407)
- Run docker test @mloubout (#1398)
- docker: fix typos @mloubout (#1397)
- compiler: version checks avoid unreliable exception @dbowman-ion (#1386)
- Fix cross-loop blocking with imperfect nests @FabioLuporini (#1381)
- Cancel previous CI at new commit @mloubout (#1378)
- Heapification of temporaries @FabioLuporini (#1349)
- Fix missing halo exchange over invariants fields @FabioLuporini (#1359)
- tutorials: 00_index fix broken link @georgebisbas (#1356)
- CI: add autolog of PRs @mloubout (#1338)
🐛 Bug Fixes
- Fix issue #1298 @FabioLuporini (#1421)
- ir: Fix lowering of ConditionalDimension @FabioLuporini (#1419)
- mpi: Patch compute_loc_indices + test @FabioLuporini (#1416)
- Fix estimate_cost @FabioLuporini (#1405)
- Fix issue 1332 (fablup version) @FabioLuporini (#1389)
- checkpointing: set right size_ckp @ofmla (#1361)
Data
tweaks @rhodrin (#1369)- Fix min storage @FabioLuporini (#1372)
- Avoid dererencing dangling pointers on GC'd objects @tjb900 (#1316)
- Replace subdimension in expressions @mloubout (#1345)
- Indexify with non-symbolic numeric indices @mloubout (#1343)
- Fix numeric indices @mloubout (#1341)
API
- Buffer: remove unused from args to allow multi buffers @mloubout (#1420)
- operator: Expose more opt knobs to the user level @FabioLuporini (#1387)
- Function/Expr shift utility @mloubout (#1377)
- Prevent sympy cache blowup @mloubout (#1366)
- Symbolic speedup @mloubout (#1362)
Examples
- examples: fix issue #1393 @ofmla (#1400)
- tutorials: add missing ignore tag in dask tutorial @mloubout (#1403)
- Dask tutorial with operator created only once @ofmla (#945)
- tests: Fix args and test viscoacoustic @georgebisbas (#1365)
- Add norm asserts for ssa iso notebooks @jkwashbourne (#1373)
- Make dt a solve property to use latest model parameters @mloubout (#1371)
- examples: Drop unnecessary NBVALs @FabioLuporini (#1367)
- Refine CFL condition in seismic @mloubout (#1348)
- Freesurface with subdomain (iso-acoustic) @mloubout (#1344)
- Improve solve speed for complicated equations @mloubout (#1342)
- elastic-fix @mloubout (#1339)
Documentation
- tutos: Inception of performance modes notebook @georgebisbas (#1358)
- Fix issue 1185 @dabiged (#1360)
ConditionalDimension
s notebook @georgebisbas (#1269)- Add binder directory with requirements.txt including matplotlib @jkwashbourne (#1351)
MPI
- ci: Test all critical seismic examples with MPI @FabioLuporini (#1418)
- Single precision interpolation @mloubout (#1413)
- Update halo warning @rhodrin (#1370)
- Fix MPI benchmark json results @jaimesouza (#1295)
- Improve detection of redundant halo exchanges @FabioLuporini (#1352)
GPU
- Add MPI+GPU runs to CI @georgebisbas (#1251)
- Tweak CIRE for GPUs @FabioLuporini (#1409)
- Add docker publish @mloubout (#1388)
- Nvidia dockerfile @FabioLuporini (#1392)
- Tool get_gpu_info (using lshw, lspci) with test @jack-lascala (#1383)
Contributors
Many thanks to all the contributors to this release (last surname alphabetical order):
- George Bisbas (Imperial College London)
- David Bowman (ION)
- Tim Burgess (DUG)
- Jaime Freire de Souza
- Chris Dinneen
- Ken Hester (NVidia)
- Navjot Kukreja (Imperial College London)
- Giacomo La Scala
- Mathias Louboutin (Georgia Institute of Technology)
- Fabio Luporini (Devito Codes)
- Oscar Mojica (SENAI CIMATEC)
- Rhodri Nelson (Imperial College London)
- John Washbourne (Chevron)