From df2ddcc98a316923228d583cecd90b0ea7951a99 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 10 Apr 2020 12:16:56 -0400 Subject: [PATCH] provide 3 presets for KOKKOS compilation: serial, openmp, cuda --- cmake/presets/kokkos-cuda.cmake | 9 +++++++++ cmake/presets/kokkos-openmp.cmake | 6 ++++++ cmake/presets/kokkos-serial.cmake | 5 +++++ 3 files changed, 20 insertions(+) create mode 100644 cmake/presets/kokkos-cuda.cmake create mode 100644 cmake/presets/kokkos-openmp.cmake create mode 100644 cmake/presets/kokkos-serial.cmake diff --git a/cmake/presets/kokkos-cuda.cmake b/cmake/presets/kokkos-cuda.cmake new file mode 100644 index 0000000000..8195e0f090 --- /dev/null +++ b/cmake/presets/kokkos-cuda.cmake @@ -0,0 +1,9 @@ +# preset that enables KOKKOS and selects CUDA compilation with OpenMP enabled as well + +set(PKG_KOKKOS ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_CUDA ON CACHE BOOL "" FORCE) +set(BUILD_OMP ON CACHE BOOL "" FORCE) +get_filename_component(NVCC_WRAPPER_CMD ${CMAKE_CURRENT_SOURCE_DIR}/../lib/kokkos/bin/nvcc_wrapper ABSOLUTE) +set(CMAKE_CXX_COMPILER ${NVCC_WRAPPER_CMD} CACHE FILEPATH "" FORCE) diff --git a/cmake/presets/kokkos-openmp.cmake b/cmake/presets/kokkos-openmp.cmake new file mode 100644 index 0000000000..27d09f62cf --- /dev/null +++ b/cmake/presets/kokkos-openmp.cmake @@ -0,0 +1,6 @@ +# preset that enables KOKKOS and selects OpenMP (only) compilation +set(PKG_KOKKOS ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_CUDA OFF CACHE BOOL "" FORCE) +set(BUILD_OMP ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/kokkos-serial.cmake b/cmake/presets/kokkos-serial.cmake new file mode 100644 index 0000000000..0208d2ee3a --- /dev/null +++ b/cmake/presets/kokkos-serial.cmake @@ -0,0 +1,5 @@ +# preset that enables KOKKOS and selects serial compilation only +set(PKG_KOKKOS ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_OPENMP OFF CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_CUDA OFF CACHE BOOL "" FORCE)