Cmake cuda update (#675)
This PR contains CMake changes for CUDA. Co-authored-by: pengwang <penwang@nvidia.com> Co-authored-by: Sarah Virginia Osborn <osborn9@llnl.gov>
This commit is contained in:
parent
22d35a4d09
commit
275d04d987
@ -105,6 +105,7 @@ set(HYPRE_WITH_EXTRA_CXXFLAGS "" CACHE STRING "Define extra CXX compile flag
|
||||
option(HYPRE_WITH_CUDA "Use CUDA. Require cuda-8.0 or higher" OFF)
|
||||
option(HYPRE_WITH_SYCL "Use SYCL" OFF)
|
||||
option(HYPRE_ENABLE_UNIFIED_MEMORY "Use unified memory for allocating the memory" OFF)
|
||||
option(HYPRE_ENABLE_DEVICE_MALLOC_ASYNC "Use device async malloc" OFF)
|
||||
# CUDA options
|
||||
option(HYPRE_ENABLE_CUDA_STREAMS "Use CUDA streams" ON)
|
||||
option(HYPRE_ENABLE_CUSPARSE "Use cuSPARSE" ON)
|
||||
@ -217,11 +218,6 @@ if (HYPRE_WITH_CUDA)
|
||||
|
||||
message(STATUS "Using CXX standard: c++${CMAKE_CXX_STANDARD}")
|
||||
|
||||
# Use ${CMAKE_CXX_COMPILER} as the cuda host compiler.
|
||||
if (NOT CMAKE_CUDA_HOST_COMPILER)
|
||||
set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER})
|
||||
endif ()
|
||||
|
||||
# Add any extra CXX compiler flags HYPRE_WITH_EXTRA_CXXFLAGS
|
||||
if (NOT HYPRE_WITH_EXTRA_CXXFLAGS STREQUAL "")
|
||||
string(REPLACE " " ";" HYPRE_WITH_EXTRA_CXXFLAGS "${HYPRE_WITH_EXTRA_CXXFLAGS}")
|
||||
@ -231,6 +227,12 @@ if (HYPRE_WITH_CUDA)
|
||||
# Check if CUDA is available, then enable it
|
||||
include(CheckLanguage)
|
||||
check_language(CUDA)
|
||||
|
||||
# Use ${CMAKE_CXX_COMPILER} as the cuda host compiler.
|
||||
if (NOT CMAKE_CUDA_HOST_COMPILER)
|
||||
set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER})
|
||||
endif ()
|
||||
|
||||
if (CMAKE_CUDA_COMPILER)
|
||||
|
||||
enable_language(CUDA)
|
||||
@ -242,6 +244,10 @@ if (HYPRE_WITH_CUDA)
|
||||
|
||||
set(CMAKE_CUDA_STANDARD_REQUIRED ON CACHE BOOL "" FORCE)
|
||||
|
||||
if (HYPRE_ENABLE_DEVICE_MALLOC_ASYNC)
|
||||
set(HYPRE_USING_DEVICE_MALLOC_ASYNC ON CACHE BOOL "" FORCE)
|
||||
endif ()
|
||||
|
||||
set(HYPRE_USING_CUDA ON CACHE BOOL "" FORCE)
|
||||
set(HYPRE_USING_GPU ON CACHE BOOL "" FORCE)
|
||||
|
||||
|
||||
@ -31,6 +31,9 @@
|
||||
/* Use complex values */
|
||||
#cmakedefine HYPRE_COMPLEX 1
|
||||
|
||||
/* Use cudaMallocAsync */
|
||||
#cmakedefine HYPRE_USING_DEVICE_MALLOC_ASYNC 1
|
||||
|
||||
/* Debug mode */
|
||||
#cmakedefine HYPRE_DEBUG 1
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user