Devito

Latest version: v4.8.13

Safety actively analyzes 714815 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 7

3.3

This release ships the following features, besides a large number of misc improvements and bug fixes

* Support for Docker-based installation
* Introduction of PrecomputedSparseFunction for SparseFunction with precomputed coefficients
* Smarter JIT engine, including autodetection of the backend-compiler version for ad-hoc optimisations
* Operator pickling
* Introduction of new IR level: the ScheduleTree level
* Smarter loop generation
* Better, more efficient data dependence analysis
* Caching of JIT-compiled code
* More accurate profiling reports
* Extended YASK support (e.g., boundary conditions)

dft-paper

3.2.0

This release builds upon ``v3.1.0`` including all features from Devito ``v3.2-beta`` as well as the following changes:

* Domain-allocation switch: now Operators run over the entire Grid, no matter what the stencil radius is.
* "Min-max" API to iterate over subregions of the Grid.
* A set of examples showing how to use Devito for linear algebra calculations
* Better seismic examples, more resampling.
* Parallelization of loops with reduction dependences with OpenMP atomics
* Simpler, better, more robust processing for Operator arguments
* Significantly more powerful IterationSpace
* Smarter clusterization

3.2beta

* Improved organisation of the Intermediate Representation classes (``ir`` submodules)
* Moved Clusterization to IR from DSE
* Better type hierarchy (reuse code from superclasses, ``SparseFunction`` -> [``SparseFunction``, ``SparseTimeFunction``], ...)
* Better ``Dimension`` hierarchy, now wired into the main type hierarchy
* Drop "Global reverse flag" hack
* Drop "Global modulo flag" hack
* Revisited argument processing for ``Operator.apply``
* Devito now explicitly provides its own ``Eq`` and ``solve`` modules
* Initial support for sub-domains
* Update the YASK backend, towards feature completeness
* Lots of changes in preparation for the domain-allocation switch

3.1.0

This release includes several new pieces of functionality and some significant API changes:
* Updated to Python-3 (exclusively) and SymPy-1.1
* Renamed symbol types: `DenseData`->`Function`, `TimeData`->`TimeFunction`, `PointData`->`SparseFunction`
* Introduction of a `Grid` class that provides the defaulting behaviour for space and time dimensions
* Enable completely generic operators without explicit substitution of spacing variables
* Addition of explicit start/end values for dimension iterations for operator invocation
* Removed fixed dimensions with hard-coded loop bounds
* Improvements to YASK backend resulting in functional acoustic operators (both forward and adjoint)
* Addition of new seismic example notebook using Dask for shot-level parallelism

Minor changes:
* Now using `nbval` to test notebooks
* Separating `Function` and `Symbol` types in internal hierarchy
* Make `Constant` a `Symbol`, not `Function`
* Added ability to switch backends at runtime
* Lots of internal refactoring...

3.0.3

A utility release to ensure a stable version before a set of planned API changes. Includes changes and some signficant progress on:

- Prototype YASK-backend
- Improved arguments handling
- Seismic examples and tutorials
- `RickerSource` and `demo_model` utilities
- New TTI formulation (shifted and centred)
- Anaconda install
- Autotuning fixes
- Compiler-debug model

3.0.2

Minor update with various fixes and some internal re-structuring:
* Fix potential memory leak and removed unused memmap interface
* Fix reverse-time iteration bug
* Fix summary printing in DSE/DLE
* YASK integration phase 2 (data movement through YaskGrids)
* Generalized loop blocking (includes several bug fixes)
* Additional linear convection example notebook with smooth initial condition

Page 6 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.