From 1403b602f565b9df5abb141a0bfbd517af537816 Mon Sep 17 00:00:00 2001 From: Soeren Peters <peters.soeren@gmx.net> Date: Wed, 10 Feb 2021 19:33:50 +0100 Subject: [PATCH] Add project() command to each target to enable cuda only for the targets which actually need cuda. --- CMake/3rd.cmake | 1 - CMake/3rd/cuda.cmake | 13 ------------- CMake/3rd/mpi.cmake | 2 +- CMakeLists.txt | 4 ++++ gpu.cmake | 13 ------------- src/gpu/GksGpu/CMakeLists.txt | 2 +- src/gpu/GridGenerator/CMakeLists.txt | 2 +- src/gpu/Traffic/CMakeLists.txt | 4 +--- src/gpu/VirtualFluids_GPU/CMakeLists.txt | 2 +- 9 files changed, 9 insertions(+), 34 deletions(-) delete mode 100644 CMake/3rd/cuda.cmake diff --git a/CMake/3rd.cmake b/CMake/3rd.cmake index 6cc488f94..5ec921758 100644 --- a/CMake/3rd.cmake +++ b/CMake/3rd.cmake @@ -1,5 +1,4 @@ include(${VF_CMAKE_DIR}/3rd/boost.cmake) -include(${VF_CMAKE_DIR}/3rd/cuda.cmake) include(${VF_CMAKE_DIR}/3rd/gmock.cmake) include(${VF_CMAKE_DIR}/3rd/mpi.cmake) include(${VF_CMAKE_DIR}/3rd/OpenMP.cmake) \ No newline at end of file diff --git a/CMake/3rd/cuda.cmake b/CMake/3rd/cuda.cmake deleted file mode 100644 index 73d9b8647..000000000 --- a/CMake/3rd/cuda.cmake +++ /dev/null @@ -1,13 +0,0 @@ - -function(linkCUDA) - - set(CUDA_CUT_INCLUDE_DIR "${VF_THIRD_DIR}/cuda_samples/") - - vf_get_library_name(library_name) - target_include_directories(${library_name} PRIVATE ${CUDA_CUT_INCLUDE_DIR}) - target_include_directories(${library_name} PRIVATE ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}) - - # set the following properties only for specific targets - # set_property(TARGET ${targetName} PROPERTY CUDA_SEPARABLE_COMPILATION ON) - # set_property(TARGET ${targetName} PROPERTY CUDA_64_BIT_DEVICE_CODE ON) -endfunction() diff --git a/CMake/3rd/mpi.cmake b/CMake/3rd/mpi.cmake index 93b3ee386..3cdcfadf7 100644 --- a/CMake/3rd/mpi.cmake +++ b/CMake/3rd/mpi.cmake @@ -3,7 +3,7 @@ function (linkMPI) find_package(MPI REQUIRED) vf_get_library_name(library_name) - target_include_directories(${library_name} PUBLIC ${MPI_CXX_INCLUDE_PATH}) + #target_include_directories(${library_name} PUBLIC ${MPI_CXX_INCLUDE_PATH}) target_link_libraries(${library_name} PRIVATE MPI::MPI_CXX) endfunction() \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 8d7437689..dafb380b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,6 +106,10 @@ if(BUILD_VF_GPU) message("CUDA Architecture: ${CMAKE_CUDA_ARCHITECTURES}") + set(CUDA_CUT_INCLUDE_DIR "${VF_THIRD_DIR}/cuda_samples/") + include_directories(${CUDA_CUT_INCLUDE_DIR}) + include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}) + include (gpu.cmake) endif() diff --git a/gpu.cmake b/gpu.cmake index 29fe0d826..6bdff5205 100644 --- a/gpu.cmake +++ b/gpu.cmake @@ -1,14 +1,4 @@ -############################################################# -### CUDAPATH ### -############################################################# - -# if CMake cannot find CUDA by itself, set the correct paths manually: -#SET(CUDA_CUT_INCLUDE_DIR "/cluster/cuda/9.0/include;/cluster/cuda/9.0/samples/common/inc" CACHE PATH "CUDA_CUT_INCLUDE_DIR") -#SET(CUDA_SAMPLE_INCLUDE_DIR "/cluster/cuda/9.0/samples/common/inc" CACHE PATH "CUDA_CUT_INCLUDE_DIR") - - -############################################################# if(BUILD_NUMERIC_TESTS) set(CMAKE_CXX_STANDARD 17) @@ -24,9 +14,6 @@ ENDIF() set(CMAKE_CUDA_FLAGS_DEBUG " -G" CACHE STRING "" FORCE) -############################################################# - -enable_language(CUDA) ########################################################################################################################## ### Subdirectories ### diff --git a/src/gpu/GksGpu/CMakeLists.txt b/src/gpu/GksGpu/CMakeLists.txt index 88df905d3..facd4b663 100644 --- a/src/gpu/GksGpu/CMakeLists.txt +++ b/src/gpu/GksGpu/CMakeLists.txt @@ -1,7 +1,7 @@ +project(GksGpu LANGUAGES CUDA CXX) vf_add_library(BUILDTYPE shared PRIVATE_LINK basics GksMeshAdapter) -linkCUDA() linkMPI() vf_get_library_name(library_name) diff --git a/src/gpu/GridGenerator/CMakeLists.txt b/src/gpu/GridGenerator/CMakeLists.txt index 46866937e..57431eab6 100644 --- a/src/gpu/GridGenerator/CMakeLists.txt +++ b/src/gpu/GridGenerator/CMakeLists.txt @@ -1,9 +1,9 @@ +project(GridGenerator LANGUAGES CUDA CXX) vf_add_library(PRIVATE_LINK basics) vf_get_library_name(library_name) -linkCUDA() linkOpenMP(${library_name}) diff --git a/src/gpu/Traffic/CMakeLists.txt b/src/gpu/Traffic/CMakeLists.txt index c836ac391..249594e04 100644 --- a/src/gpu/Traffic/CMakeLists.txt +++ b/src/gpu/Traffic/CMakeLists.txt @@ -1,5 +1,3 @@ - +project(Traffic LANGUAGES CUDA CXX) vf_add_library(BUILDTYPE shared PRIVATE_LINK GridGenerator basics) - -linkCUDA() \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/CMakeLists.txt b/src/gpu/VirtualFluids_GPU/CMakeLists.txt index 442efdc14..2df796f2f 100644 --- a/src/gpu/VirtualFluids_GPU/CMakeLists.txt +++ b/src/gpu/VirtualFluids_GPU/CMakeLists.txt @@ -1,3 +1,4 @@ +project(VirtualFluids_GPU LANGUAGES CUDA CXX) IF(MSVC) set(libsToLink ws2_32 GridGenerator basics Traffic) # ws_32 throws an error on Phoenix @@ -10,7 +11,6 @@ ENDIF(MSVC) vf_add_library(PRIVATE_LINK ${libsToLink}) linkMPI() -linkCUDA() linkBoost(COMPONENTS "serialization") #SET(TPN_WIN32 "/EHsc") -- GitLab