Skip to content

Commit

Permalink
Fix compatibility with Kokkos 4+
Browse files Browse the repository at this point in the history
  • Loading branch information
tom91136 committed Jun 10, 2023
1 parent 8b862f0 commit 893af9f
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 10 deletions.
2 changes: 1 addition & 1 deletion src/kokkos/KokkosStream.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2015-16 Tom Deakin, Simon McIntosh-Smith,
// Copyright (c) 2015-23 Tom Deakin, Simon McIntosh-Smith, Wei-Chen (Tom) Lin
// University of Bristol HPC
//
// For full license terms please see the LICENSE file distributed with this
Expand Down
3 changes: 0 additions & 3 deletions src/kokkos/KokkosStream.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@
#include <stdexcept>

#include <Kokkos_Core.hpp>
#include <Kokkos_Parallel.hpp>
#include <Kokkos_View.hpp>

#include "Stream.h"

#define IMPLEMENTATION_STRING "Kokkos"
Expand Down
12 changes: 6 additions & 6 deletions src/kokkos/model.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,29 +10,29 @@ register_flag_optional(KOKKOS_IN_TREE
See https://github.com/kokkos/kokkos/blob/master/BUILD.md for all available options" "")

register_flag_optional(KOKKOS_IN_PACKAGE
"Use if Kokkos is part of a package dependency:
Path to package R-Path containing Kokkos libs" "")
"Absolute path to package R-Path containing Kokkos libs.
Use this instead of KOKKOS_IN_TREE if Kokkos is from a package manager like Spack." "")

# compiler vendor and arch specific flags
set(KOKKOS_FLAGS_CPU_INTEL -qopt-streaming-stores=always)

macro(setup)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD 17) # Kokkos 4+ requires CXX >= 17
cmake_policy(SET CMP0074 NEW) #see https://github.com/kokkos/kokkos/blob/master/BUILD.md


if (EXISTS "${KOKKOS_IN_TREE}")
message(STATUS "Building using in-tree Kokkos source at `${KOKKOS_IN_TREE}`")
message(STATUS "Build using in-tree Kokkos source at `${KOKKOS_IN_TREE}`")
add_subdirectory(${KOKKOS_IN_TREE} ${CMAKE_BINARY_DIR}/kokkos)
register_link_library(Kokkos::kokkos)
elseif (EXISTS "${KOKKOS_IN_PACKAGE}")
message(STATUS "Building using packaged Kokkos at `${KOKKOS_IN_PACKAGE}`")
message(STATUS "Build using packaged Kokkos at `${KOKKOS_IN_PACKAGE}`")
set (Kokkos_DIR "${KOKKOS_IN_PACKAGE}/lib64/cmake/Kokkos")
find_package(Kokkos REQUIRED)
register_link_library(Kokkos::kokkos)
else()
message(FATAL_ERROR "Neither `${KOKKOS_IN_TREE}`, or `${KOKKOS_IN_PACKAGE}` exists")
message(FATAL_ERROR "Neither `KOKKOS_IN_TREE`, or `KOKKOS_IN_PACKAGE` was set!")
endif ()

register_append_compiler_and_arch_specific_cxx_flags(
Expand Down

0 comments on commit 893af9f

Please sign in to comment.