rhodrin
rhodrin
Fix for issue #1862 + associated tests. WIP. Will update.
Work in progress. TBC. Aside from the actual implementation, we'll also need to discuss legacy support at some stage.
Many concepts in Devito are 'global', but certain properties of `Function`'s are not e.g. `f.shape` returns the local shape - `f.shape_global` is also present but elsewhere the opposite is true,...
Take for example the following script: ``` from devito import Grid grid = Grid(shape=(8, 8)) print(grid.distributor._obj_neighborhood) ``` This results in `AttributeError: 'mpi4py.MPI.Comm' object has no attribute 'Shift'` when run in...
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.
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...
This PR adds the ability to define `Function`'s on `SubDomain`'s, e.g. ``` f = Function(name='f', grid=grid, subdomain=grid.subdomains['middle']) ``` The shape of the `Data` allocated will then be `grid.subdomains['middle'].shape` (or `grid.subdomains['middle'].shape_local`...
Take a look at: ``` @classmethod def left(cls, name, parent, thickness, local=True): lst, rst = cls._symbolic_thickness(name) return cls(name, parent, left=parent.symbolic_min, right=parent.symbolic_min+lst-1, thickness=((lst, thickness), (rst, 0)), local=local) @classmethod def right(cls, name,...
When offloading to GPU via openmp a memory leak occurs. More details will follow after I've had chance to conduct further tests, but take the following example: When running: ```...