-
Notifications
You must be signed in to change notification settings - Fork 19
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 MultiGPU Support #450
Add MultiGPU Support #450
Conversation
Based on John's old suggestions in bbcbbca
Renders the monopole CUDA kernel inoperational, however, KOKKOS_CUDA still works. CUDA will throw an exception when someone tries to use it in this configuration! For the future, it would be handy to have a CMAKE variable to disable CUDA at compiletime but not KOKKOS_CUDA. This workaround should serve for now.
I reworked this PR (and CPPuddle) as I did not quite like the way the previous MultiGPU support was working! However, it is ready for review now! New Features/Fixes:
Interface changes: Renamed existing parameters (to make clearer that they are not CUDA specific anymore):
Add new parameters for new features:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
This PR adds experimental multi-GPU support for all CUDA/KOKKOS kernels in Octo-Tiger.
To do so, it mostly uses the additions in STEllAR-GROUP/hpx/pull/6284 and SC-SGS/CPPuddle/pull/22.
Accordingly, this PR uses the new functionality defined in those PRs. To work correctly, it also
Overall, it seems to work well on the machines I tested it on. I will probably re-structure the MultiGPU part of the gravity solver a bit in the future, but I think that is a subject for another PR. This one gives us the basic functionality for now!