Kokkos provides support for NVIDIA graphics processing units (GPUs) via the NVIDIA CUDA platform and the Thrust CUDA library. Therefore, to utilize a GPU in Kokkos, you will need the following:
- a CUDA-capable GPU. See this page.
- the CUDA developer environment, available here. Kokkos is currently tested against CUDA 3.1.
- the Thrust library, available here. Kokkos is currently tested against Thrust 1.2.1.
CUDA and Thrust are registered third-party libraries (TPLs) which need to be activated in the Trilinos build. The relevant CMake build options are:
At this point, the Trilinos build system should look for the NVIDIA CUDA compiler and libraries in the default paths, depending on your system. The disabling of development m
After this, the main thing that needs to be done is to specify the use of the ThrustGPUNode type in your Kokkos (and Tpetra, etc.) objects.