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 multiple devices and fix CudaSpace #51

Merged
merged 1 commit into from
Jun 4, 2020

Conversation

streeve
Copy link
Member

@streeve streeve commented May 28, 2020

This PR templates the System class (and NNP Mode class) on the device type so that the library can be built with all available Kokkos devices and the executable can use any at runtime. Previously, the default device was used everywhere, chosen at compile time.

This also addresses issues in initialization (lattice and velocity creation) with CudaSpace, now done on the host explicitly and copied to the device, with a new System::deep_copy for all AoSoAs. Previously, CudaUVMSpace was used.

@streeve streeve added the enhancement New feature or request label May 28, 2020
pack_indicies_all = Kokkos::View<T_INT **, Kokkos::LayoutRight, DeviceType>(
"CommMPI::pack_indicies_all", 6, 200 );
pack_ranks_all = Kokkos::View<T_INT **, Kokkos::LayoutRight, DeviceType>(
pack_count = Kokkos::View<int, Kokkos::LayoutRight, device_type>(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are some of these views int and others T_INT?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a holdover from ExaMiniMD. I've been meaning to go through and make sure these are all consistent

@streeve streeve merged commit 749b418 into ECP-copa:master Jun 4, 2020
@streeve streeve deleted the multi_device branch June 4, 2020 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants