Fabio Luporini
Fabio Luporini
`pgcc` doesn't swallow the following ``` float (*restrict buf)[buf_y_size] __attribute__ ((aligned (64))) = (float (*)[buf_y_size]) buf_vec; ``` when the variable `buf_y_size` is of type `const int`. No matter what C...
The same Operator can be `.apply` concurrently by different threads, but there are certain non-functional objects attached to, or used by, it that aren't thread-safe yet: * The Profiler's `py_timers`...
`configuration['autopadding'] = True` makes devito applying padding to the innermost dimension such that the size is a multiple of the SIMD vector length There are other reasons one may want...
first touch is currently broken, as it still assumes the Devito2.0 Operator/Propagator. I think we can drop it, as *the* solution is to use MPI across sockets.
We should move: * flattening * evaluation * diff2sympy inside `ir/equations/algorithms/lower_exprs`
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...
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...
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...