devito
devito copied to clipboard
DSL and compiler framework for automated finite-differences and stencil computation
Consider the following example distributed across, say, 4 ranks: ``` grid = Grid(shape=(8, 8, 8)) f = Function(name='f', grid=grid) f.data[:] = 1 f.data[:, 5, :] = f.data[:, 1, :] +...
We have some scattered branches using various forms of I/O (SEGY, hdf5 e.g. [visco-elastic](https://github.com/devitocodes/devito/tree/visco-elastic)). These should consolidated into a nice tutorial.
In the context of checkpointing, it's a significant overhead that upon returning from C-land we redistribute the entire SparseTimeFunction while potentially only a relatively small number of time iterations have...
The factorizer `collect_nested` lacks test for the new "robust" factorization.
As explained in #981 , `time_order=0` may sequentialize otherwise parallel loops. The MPI overview notebook creates TimeFunctions with `time_order=0`, which is therefore bad. The only reason the notebook produces sane...
I'm running the following example code: ~~~ from mpi4py import MPI from devito import Grid, TimeFunction, Eq, Operator, configuration configuration['compiler'] = 'intel' configuration['platform'] = 'intel64' configuration['mpi'] = 'full' # configuration['mpi']...
Assume rank0, out of 4 MPI ranks, has 8 items ``` a b c d e f g h ``` Now assume that, upon Operator application, the sparse points get...
We have several objects that should be instantiated as singletons (e.g., LEFT, RIGHT, ... FORWARD, BACKWARD, ...) but they are not. This causes a subtle issue upon unpickling when these...
Reproducer below ``` import numpy as np from devito import Grid, Function, Eq, Operator, generic_derivative a = np.arange(64).reshape((8, 8)) grid = Grid(shape=a.shape, extent=(8, 8)) so = 3 dims = grid.dimensions...
The current implementation of `SubdomainSet`'s has the following issues that need to be fixed: 1) ~Many cases do not work with Devito loop optimization and require operators to be created...