Skip to content

Releases: devitocodes/devito

Devito-3.2

13 Apr 06:46
12126fc
Compare
Choose a tag to compare

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

Devito-3.2-beta

27 Feb 08:26
2792096
Compare
Choose a tag to compare
Devito-3.2-beta Pre-release
Pre-release
  • 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

Devito-3.1

28 Oct 07:25
be3a451
Compare
Choose a tag to compare

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...

Devito-3.0.3

26 Sep 08:40
Compare
Choose a tag to compare

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

Devito-3.0.2

05 Jul 12:33
Compare
Choose a tag to compare

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

Devito-3.0.1

07 Jun 07:00
Compare
Choose a tag to compare

Minor release that contains several bug-fixes and additional documentation:

  • Fixes and test for the ForeignOperator interface
  • Improved argument derivation in Operator.apply()
  • Improved expression scheduling in Operator
  • New tutorial notebook on seismic modelling
  • New introductory tutorial based on CFD examples
  • Various documentation fixes throughout

Devito-3.0

19 May 13:22
Compare
Choose a tag to compare

This is the base release for Devito version 3.0. It primarily provides a new and improved Operator API as well as two backend engines that perform a sequence of configurable compiler passes during the code generation stages to increase the performance of the generated code:

  • DSE - Devito Symbolic Engine: Provides performance optimization passes that manipulate SymPy equations to decrease the number of floating-point operations performed when evaluating a grid point.
  • DLE - Devito Loop Engine: Manipulates the loop structure of the generated code based on an abstract syntax tree (AST) and provides typical loop-level optimisations, including data alignment, explicit SIMD vectorization and thread-level parallelism through OpenMP pragmas, and loop blocking.

Stable v2.0.1 pre-release

27 Jan 13:18
Compare
Choose a tag to compare
Pre-release

Initial tag of stable v2.0.1 pre-release.