ECP-copa / CabanaMD

Molecular dynamics proxy application based on Cabana
Other
19 stars 14 forks source link

Enable multiple devices and fix CudaSpace #51

Closed streeve closed 4 years ago

streeve commented 4 years ago

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.