Comments (6)
hi Alan,
Could you share some thoughts on the easiest way to distribute shots?
Best,
Vladimir
from deepwave.
from deepwave.
Thanks a lot for getting back. I am trying to distribute FWI and LSRTM within a single node. I tried to replace prop=nn.DataParallel(prop), which appears to be the most basic option.
source_amplitudes.swapaxes(0,1).swapaxes(1,2) before the propagator and swapping back within the propagator allows distributing inputs seemingly properly. The model itself does not get replicated staying at the "cuda:0" device so even forward propagation does not work...
from deepwave.
Hi Vladimir,
I think I see the problem. The model is not being registered as a parameter of the propagator, and so PyTorch doesn't know that it needs to copy it to the other devices. I don't have multiple GPUs to test it on at the moment, but does manually registering the parameters as below work?
prop = deepwave.scalar.Propagator({'vp': model}, dx)
prop.register_parameter('vp', torch.nn.Parameter(model))
prop = torch.nn.DataParallel(prop)
If so, I will fix it in the next release of Deepwave so that the parameters are automatically registered.
from deepwave.
Hi Alan,
Registering the model as a parameter did not change the behavior. Sending it manually to the device with inputs inside the forward method lets nn.DataParallel run, but it looks like it runs sequentially the forward propagation for different GPUs)
from deepwave.
from deepwave.
Related Issues (20)
- Error in executing deepwave in MAC HOT 17
- How to calculate RTM using deepwave HOT 11
- Try the first-order acoustic equation propagation HOT 2
- scalar_born memory issue HOT 4
- 3D forward modelling HOT 5
- Incorrect output from DistributedDataParallel HOT 6
- It seams the scalar function cannot generate the ground roll when setting the free surface HOT 4
- Calculated Hessian for the elastic example. It gives zero values HOT 2
- I was unable to complete compilation HOT 5
- Apply deepwave to ultrasound HOT 13
- Generate the waveform data HOT 3
- How can I get the file called scalar2d_gpu_iso_4_float and scalar2d_gpu_iso_4_float.cp38-win_amd64 HOT 3
- How to write a propagator by scalar with the newest version HOT 3
- looked at the source code HOT 8
- how to simulate a source that is not point source, but has an arbitrarily spatial distribution? HOT 6
- Elastic FWI parameterization (Impedance) HOT 2
- Distributed (multi-GPU) execution HOT 12
- How to generate reverse time migration HOT 6
- Elastic wave gradient calculation HOT 7
- clarify openMP (and torch and CUDA and...) version requirements HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deepwave.