File tree Expand file tree Collapse file tree 4 files changed +37
-6
lines changed
sparse_blas/backends/cusparse Expand file tree Collapse file tree 4 files changed +37
-6
lines changed Original file line number Diff line number Diff line change @@ -70,6 +70,7 @@ option(ENABLE_CUSPARSE_BACKEND "Enable the cuSPARSE backend for the SPARSE_BLAS
7070option (ENABLE_ROCSPARSE_BACKEND "Enable the rocSPARSE backend for the SPARSE_BLAS interface" OFF )
7171
7272set (ONEMATH_SYCL_IMPLEMENTATION "dpc++" CACHE STRING "Name of the SYCL compiler" )
73+ set (CUDA_TARGETS "" CACHE STRING "Target CUDA architectures" )
7374set (HIP_TARGETS "" CACHE STRING "Target HIP architectures" )
7475
7576## Testing
Original file line number Diff line number Diff line change @@ -41,12 +41,24 @@ target_include_directories(${LIB_OBJ}
4141)
4242target_compile_options (${LIB_OBJ} PRIVATE ${ONEMATH_BUILD_COPT} )
4343
44- if (NOT ${ONEMATH_SYCL_IMPLEMENTATION} STREQUAL "adaptivecpp" )
44+ if (NOT "${ONEMATH_SYCL_IMPLEMENTATION} " STREQUAL "adaptivecpp" )
45+ target_compile_options (ONEMATH::SYCL::SYCL INTERFACE
46+ -fsycl-targets=nvptx64-nvidia-cuda -fsycl-unnamed-lambda
47+ )
48+ target_link_options (ONEMATH::SYCL::SYCL INTERFACE
49+ -fsycl-targets=nvptx64-nvidia-cuda
50+ )
51+
52+ if (DEFINED CUDA_TARGETS AND NOT "${CUDA_TARGETS} " STREQUAL "" )
4553 target_compile_options (ONEMATH::SYCL::SYCL INTERFACE
46- -fsycl-targets=nvptx64-nvidia-cuda -fsycl-unnamed-lambda)
54+ -Xsycl-target -backend --cuda-gpu-arch=${CUDA_TARGETS}
55+ )
4756 target_link_options (ONEMATH::SYCL::SYCL INTERFACE
48- -fsycl-targets=nvptx64-nvidia-cuda)
57+ -Xsycl-target -backend --cuda-gpu-arch=${CUDA_TARGETS}
58+ )
59+ endif ()
4960endif ()
61+
5062target_link_libraries (${LIB_OBJ} PUBLIC ONEMATH::SYCL::SYCL ONEMATH::cuBLAS::cuBLAS)
5163target_compile_features (${LIB_OBJ} PUBLIC cxx_std_11)
5264set_target_properties (${LIB_OBJ} PROPERTIES
Original file line number Diff line number Diff line change @@ -82,11 +82,11 @@ if(GENERIC_BLAS_TUNING_TARGET)
8282 -fsycl-targets=nvptx64-nvidia-cuda -fsycl-unnamed-lambda)
8383 target_link_options (ONEMATH::SYCL::SYCL INTERFACE
8484 -fsycl-targets=nvptx64-nvidia-cuda)
85- if (DEFINED CUDA_TARGET )
85+ if (DEFINED CUDA_TARGETS )
8686 target_compile_options (ONEMATH::SYCL::SYCL INTERFACE
87- -Xsycl-target -backend --cuda-gpu-arch=${CUDA_TARGET } )
87+ -Xsycl-target -backend --cuda-gpu-arch=${CUDA_TARGETS } )
8888 target_link_options (ONEMATH::SYCL::SYCL INTERFACE
89- -Xsycl-target -backend --cuda-gpu-arch=${CUDA_TARGET } )
89+ -Xsycl-target -backend --cuda-gpu-arch=${CUDA_TARGETS } )
9090 endif ()
9191 else ()
9292 message (WARNING "Compiler is not supported."
Original file line number Diff line number Diff line change @@ -43,6 +43,24 @@ target_include_directories(${LIB_OBJ}
4343
4444target_compile_options (${LIB_OBJ} PRIVATE ${ONEMATH_BUILD_COPT} )
4545
46+ if (NOT "${ONEMATH_SYCL_IMPLEMENTATION} " STREQUAL "adaptivecpp" )
47+ target_compile_options (ONEMATH::SYCL::SYCL INTERFACE
48+ -fsycl-targets=nvptx64-nvidia-cuda -fsycl-unnamed-lambda
49+ )
50+ target_link_options (ONEMATH::SYCL::SYCL INTERFACE
51+ -fsycl-targets=nvptx64-nvidia-cuda
52+ )
53+
54+ if (DEFINED CUDA_TARGETS AND NOT "${CUDA_TARGETS} " STREQUAL "" )
55+ target_compile_options (ONEMATH::SYCL::SYCL INTERFACE
56+ -Xsycl-target -backend --cuda-gpu-arch=${CUDA_TARGETS}
57+ )
58+ target_link_options (ONEMATH::SYCL::SYCL INTERFACE
59+ -Xsycl-target -backend --cuda-gpu-arch=${CUDA_TARGETS}
60+ )
61+ endif ()
62+ endif ()
63+
4664if (${CMAKE_VERSION} VERSION_LESS "3.17.0" )
4765 find_package (CUDA 12.2 REQUIRED)
4866 target_include_directories (${LIB_OBJ} PRIVATE ${CUDA_INCLUDE_DIRS} )
You can’t perform that action at this time.
0 commit comments