Skip to content
Snippets Groups Projects

initial commit

Merged Georgiana Mania requested to merge master into main
3 files
+ 309
0
Compare changes
  • Side-by-side
  • Inline
Files
3
CMakeLists.txt 0 → 100755
+ 39
0
cmake_minimum_required(VERSION 3.20)
project(demo LANGUAGES CXX VERSION 0.0.1)
include(FetchContent)
# silence warning
if (POLICY CMP0135)
cmake_policy(SET CMP0135 NEW)
endif ()
# if using kokkos as shared library, -fPIC is needed
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
# configure kokkos 4.2 repository link
FetchContent_Declare(kokkos
URL https://github.com/kokkos/kokkos/releases/download/4.4.01/kokkos-4.4.01.tar.gz)
if (("${MU_ARCH}" STREQUAL "x86_64") OR ("${MU_ARCH}" STREQUAL "arm"))
find_package(OpenMP)
if (OpenMP_FOUND)
set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "" FORCE)
else()
set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE)
endif()
set(Kokkos_ARCH_NATIVE ON CACHE BOOL "" FORCE)
elseif("${MU_ARCH}" STREQUAL "a100")
set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_CUDA ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_CUDA_LAMBDA ON CACHE BOOL "" FORCE)
set(Kokkos_ARCH_AMPERE80 ON CACHE BOOL "" FORCE)
else()
message(FATAL_ERROR "${MU_ARCH} is not a valid/tested configuration, select architecture, x86_64, a100, h100, mi250x, mi300a(-unified), h100(-unified)")
endif()
FetchContent_MakeAvailable(kokkos)
add_executable(demo main.cpp)
target_link_libraries(demo PUBLIC Kokkos::kokkos)
Loading