agencyenterprise / neurotechdevkit

Neurotech Development Kit (NDK)
https://agencyenterprise.github.io/neurotechdevkit/
Apache License 2.0
115 stars 10 forks source link

Multi-GPU simulation example #170

Open charlesbmi opened 10 months ago

charlesbmi commented 10 months ago

Describe the new feature or enhancement

Please provide a clear and concise description of what you want to add or change.

A full-head ultrasound simulation (such as Aubry et al. benchmark 8) takes a very long time to simulate on CPU, but does not fit in the memory of existing GPUs (which would speed up the simulation).

Please describe how you would use this new feature.

Users often want to simulate full-head ultrasound experiments.

With multiple GPUs, I believe this could take <1 hour (extrapolating from smaller 3D simulations, e.g. #114 ).

Describe your proposed implementation

In theory, the NVIDIA HPC SDK should support running multiple GPUs out of the box. However, NDK large simulations didn't "just work" on an AWS instance with multiple GPUs (NDK just uses the first GPU), so some setup is currently missing. This will probably take some digging into stride's implementation on NVIDIA HPC SDK or asking their maintainer, Carlos, for some support.

Describe possible alternatives

If you've suggested an implementation above, list here any alternative implementations you can think of, and brief comments explaining why the chosen implementation is better.