Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add wavefield compression/storage to disk feature #6

Closed
ar4 opened this issue Jul 14, 2018 · 0 comments
Closed

Add wavefield compression/storage to disk feature #6

ar4 opened this issue Jul 14, 2018 · 0 comments

Comments

@ar4
Copy link
Owner

ar4 commented Jul 14, 2018

Deepwave currently stores wavefields from forward modeling in memory for use
during backpropagation. This is fine for small 2D models, but is likely to
require more memory than is available for realistic 3D datasets. Adding
storage options that are appropriate for such situations would allow Deepwave
to be applied to more datasets and on low memory systems.

One option that should be provided is to store the wavefields on disk. This
might require that the compiled propagator is called for several time steps,
the saved wavefields from those time steps are saved to disk, and then the
compiled propagator is called again for the next few time steps, etc.

Another option (potentially to be combined with storing to disk) is to
compress the wavefield. There are several possible ways to do this, such as
simply converting to 16 bit floats, but others should also be considered such
as compressing the wavefields using a video encoder.

For GPU propagators, it is preferable that the compression is done on the GPU
as transferring the uncompressed data from GPU to CPU memory could be slow.

It is also possible to avoid this issue by recomputing the forward wavefields during backpropagation. This is an option to consider, but it might add considerable complexity to the code.

@ar4 ar4 closed this as completed Jun 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant