From 0de25e9ab29d89b7451534d08a9a54387bdd5c32 Mon Sep 17 00:00:00 2001 From: Matteo Cicuttin <datafl4sh@toxicnet.eu> Date: Mon, 30 Mar 2020 11:01:07 +0200 Subject: [PATCH] CMakeLists.txt fixes. --- kokkos-testing/fd_catalog/CMakeLists.txt | 24 ++++++++++++++++++------ kokkos-testing/fd_catalog/fd_kokkos.cpp | 1 + 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/kokkos-testing/fd_catalog/CMakeLists.txt b/kokkos-testing/fd_catalog/CMakeLists.txt index f1af9fd..8d3d2f2 100644 --- a/kokkos-testing/fd_catalog/CMakeLists.txt +++ b/kokkos-testing/fd_catalog/CMakeLists.txt @@ -8,11 +8,6 @@ set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(THREADS_PREFER_PTHREAD_FLAG ON) -find_package(Threads REQUIRED) -set(LINK_LIBS ${LINK_LIBS} Threads::Threads) - - ###################################################################### if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") set(COMPILER_IS_CLANG TRUE) @@ -24,6 +19,13 @@ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "PGI") set(COMPILER_IS_PGI) endif () + +set(THREADS_PREFER_PTHREAD_FLAG ON) +find_package(Threads REQUIRED) +if (COMPILER_IS_CLANG OR COMPILER_IS_INTEL OR COMPILER_IS_GNU) + set(LINK_LIBS ${LINK_LIBS} Threads::Threads) +endif() + find_package(SILO) if (SILO_FOUND) add_definitions(-DHAVE_SILO) @@ -138,7 +140,17 @@ endif() option(ENABLE_OPENMP "Enable OpenMP" OFF) if (ENABLE_OPENMP) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp") + if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp") + endif() + + if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -qopenmp") + endif() + + if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp") + endif() endif() set(CMAKE_CXX_FLAGS_DEBUG "-g") diff --git a/kokkos-testing/fd_catalog/fd_kokkos.cpp b/kokkos-testing/fd_catalog/fd_kokkos.cpp index 338d388..824cd63 100644 --- a/kokkos-testing/fd_catalog/fd_kokkos.cpp +++ b/kokkos-testing/fd_catalog/fd_kokkos.cpp @@ -188,6 +188,7 @@ double solve_kokkos(wave_equation_context_kokkos<T>& wec) static const T w4 = -1.0/560.0; static const T w[9] = { w4, w3, w2, w1, w0, w1, w2, w3, w4 }; + /* Find a way to disable this when compiling Kokkos/GPU */ #ifdef DISALLOW_DENORMALS _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON); _MM_SET_DENORMALS_ZERO_MODE(_MM_DENORMALS_ZERO_ON); -- GitLab