diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a8f664724c41b8f8390a63befdae0dee22d5610..e77dd35e6cf170faedefd00c3d56db33c95b6ff9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,8 @@ set(SE_CLASS1 CACHE BOOL "Activate compilation with SE_CLASS1") set(SE_CLASS2 CACHE BOOL "Activate compilation with SE_CLASS2") set(SE_CLASS3 CACHE BOOL "Activate compilation with SE_CLASS3") set(PETSC_ROOT CACHE PATH "If compiling with linear algebra indicate the PETSC root directory") +set(ALPAKA_ROOT CACHE PATH "Alpaka root path") +set(CUDA_ON_CPU CACHE BOOL "Make Cuda work on heap") set(ENV{PETSC_DIR} ${PETSC_ROOT}) @@ -40,7 +42,7 @@ elseif ( CUDA_VERSION_MAJOR EQUAL 11 AND CUDA_VERSION_MINOR EQUAL 0 ) endif() -find_package(Boost 1.66.0 REQUIRED COMPONENTS unit_test_framework iostreams program_options) +find_package(Boost 1.66.0 REQUIRED COMPONENTS unit_test_framework iostreams program_options fiber) find_package(MPI REQUIRED) find_package(PETSc) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6de325cc188916f5fdedcd693419fb34ab5b6b3a..05e692508a90bff71485fb49f2c716f37cfc55ed 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,11 +2,17 @@ cmake_minimum_required(VERSION 3.8 FATAL_ERROR) ########################### Executables +if (CUDA_ON_CPU) + add_definitions(-DCUDA_ON_CPU) +endif() + if (CUDA_FOUND) set(CUDA_SOURCES ../../openfpm_devices/src/memory/CudaMemory.cu VCluster/cuda/VCluster_semantic_unit_cuda_tests.cu VCluster/cuda/VCluster_unit_tests.cu ) endif() -add_executable(vcluster_test main.cpp VCluster/VCluster.cpp ../../openfpm_devices/src/memory/HeapMemory.cpp ../../openfpm_devices/src/memory/PtrMemory.cpp VCluster/VCluster_unit_tests.cpp VCluster/VCluster_semantic_unit_tests.cpp ${CUDA_SOURCES}) + + +add_executable(vcluster_test main.cpp VCluster/VCluster.cpp ../../openfpm_devices/src/util/cudify_vars.cpp ../../openfpm_devices/src/memory/HeapMemory.cpp ../../openfpm_devices/src/memory/PtrMemory.cpp VCluster/VCluster_unit_tests.cpp VCluster/VCluster_semantic_unit_tests.cpp ${CUDA_SOURCES}) if ( CMAKE_COMPILER_IS_GNUCC ) target_compile_options(vcluster_test PRIVATE "-Wno-deprecated-declarations") @@ -36,6 +42,7 @@ target_include_directories (vcluster_test PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ target_include_directories (vcluster_test PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/config) target_include_directories (vcluster_test PUBLIC ${Boost_INCLUDE_DIRS}) target_include_directories (vcluster_test PUBLIC ${PETSC_INCLUDES}) +target_include_directories (vcluster_test PUBLIC ${ALPAKA_ROOT}/include) target_include_directories (vcluster PUBLIC ${CUDA_INCLUDE_DIRS}) target_include_directories (vcluster PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) @@ -44,6 +51,7 @@ target_include_directories (vcluster PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/config) target_include_directories (vcluster PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_data/src/) target_include_directories (vcluster PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_devices/src/) target_include_directories (vcluster PUBLIC ${Boost_INCLUDE_DIRS}) +target_include_directories (vcluster PUBLIC ${ALPAKA_ROOT}/include) target_include_directories (vcluster_dl PUBLIC ${CUDA_INCLUDE_DIRS}) target_include_directories (vcluster_dl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) @@ -52,6 +60,7 @@ target_include_directories (vcluster_dl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/confi target_include_directories (vcluster_dl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_data/src/) target_include_directories (vcluster_dl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_devices/src/) target_include_directories (vcluster_dl PUBLIC ${Boost_INCLUDE_DIRS}) +target_include_directories (vcluster_dl PUBLIC ${ALPAKA_ROOT}/include) target_link_libraries(vcluster_test ${Boost_LIBRARIES}) target_link_libraries(vcluster_test ${PETSC_LIBRARIES})