project(GrayScottGpuNvcppVector) cmake_minimum_required(VERSION 3.0) add_subdirectory(cmake) set(USE_TBB yes CACHE BOOL "Use TBB parallelisation") if(USE_TBB) find_package(TBB COMPONENTS tbb REQUIRED) endif(USE_TBB) find_package(HDF5 COMPONENTS C CXX REQUIRED) include_directories(${HDF5_INCLUDE_DIRS}) message(STATUS "HDF5_CXX_LIBRARIES = ${HDF5_CXX_LIBRARIES}") set(MUST_JOB no CACHE BOOL "Is job running on MUST computing center") phoenix_base_project("GrayScottGpuNvcppVector" "0.1.0" "Set of performance test to use nvc++ with C++17 for GPU" "some url") pull_extra_module("OptionParser" "https://gitlab.in2p3.fr/CTA-LAPP/PHOENIX_LIBS/OptionParser.git") pull_extra_module("MicroBenchmark" "https://gitlab.in2p3.fr/CTA-LAPP/PHOENIX_LIBS/MicroBenchmark.git") #pull_extra_module("TensorAlloc" "https://gitlab.in2p3.fr/CTA-LAPP/PHOENIX_LIBS/TensorAlloc.git") if(NOT MUST_JOB) pull_extra_module("PhoenixPNG" "https://gitlab.in2p3.fr/CTA-LAPP/PHOENIX_LIBS/PhoenixPNG.git") endif() include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src) set(GPU_MODE no CACHE BOOL "Use GPU compilation") #With nvhpc-22-7 if(GPU_MODE) message(STATUS "enable GPU mode : GPU_MODE = yes") if(DEFINED ENV{NVCPP}) message(STATUS "Use nvc++ compiler at $ENV{NVCPP}") set(CMAKE_CXX_COMPILER $ENV{NVCPP}) else() message(FATAL_ERROR "You have to scecify an environnement variable NVCPP which points to your nvc++ compiler") endif() else() message(STATUS "GPU mode disabled : GPU_MODE = no") endif() include_directories(${CMAKE_CURRENT_SOURCE_DIR}/DataFormat ${CMAKE_CURRENT_SOURCE_DIR}/src) add_definitions(-DVECTOR_ALIGNEMENT=32) add_subdirectory(DataFormat) #add_subdirectory(src) add_subdirectory(program) set(PHOENIX_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/Examples;${PHOENIX_INCLUDE_DIRS}" CACHE INTERNAL "list of Phoenix include dirs")