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

Enable usage of multiple GPUs in PyKokkos #93

Merged
merged 5 commits into from
Sep 28, 2022

Conversation

NaderAlAwar
Copy link
Contributor

This PR enables using multiple CUDA GPUs in PyKokkos in the same process. It depends on another pykokkos-base kokkos/pykokkos-base#48 which makes multiple copies of libpykokkos, libkokkoscore, and libkokkoscontainers. PyKokkos will then link kernels compiled for CUDA to a different set of libraries depending on the GPU specified by the user.

The concept of Multi-GPU Kokkos is based on William Ruys's work here

@NaderAlAwar NaderAlAwar merged commit e3fbe2b into kokkos:develop Sep 28, 2022
@JBludau
Copy link
Contributor

JBludau commented Sep 28, 2022

hmm, this might be a bit late, but libs downstream could run into problems with this, as the initialization state of kokkos is tied to the lib. I might be overthinking this, but we could get difficult errors if other libs link against the wrong kokkos lib ... basically they all would need to replicate what we are doing here in order to extend anything in pykokkos/pykokkos-base (e.g. define Views of their own type). Furthermore, I think we would run into problems when using it in combination with a C++ program using Kokkos as the C++ side would not have a proper lib so link against?

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

Successfully merging this pull request may close these issues.

2 participants