diff --git a/mlir/lib/ExecutionEngine/CMakeLists.txt b/mlir/lib/ExecutionEngine/CMakeLists.txt --- a/mlir/lib/ExecutionEngine/CMakeLists.txt +++ b/mlir/lib/ExecutionEngine/CMakeLists.txt @@ -191,9 +191,6 @@ # We need the libcuda.so library. find_library(CUDA_RUNTIME_LIBRARY cuda HINTS ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES} REQUIRED) - - - add_mlir_library(mlir_cuda_runtime SHARED CudaRuntimeWrappers.cpp @@ -212,18 +209,22 @@ ) if(MLIR_ENABLE_CUDA_CUSPARSE) - # Find the libcusparse.so library if CUSPARSE build is requested. find_library(CUDA_CUSPARSE_LIBRARY cusparse HINTS ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES} REQUIRED) + target_link_libraries(mlir_cuda_runtime PRIVATE ${CUDA_CUSPARSE_LIBRARY} ) + target_compile_definitions(mlir_cuda_runtime + PRIVATE + MLIR_ENABLE_CUDA_CUSPARSE=1 + ) if(MLIR_ENABLE_CUDA_CUSPARSELT) - # Find the libcusparseLt.so library in package manager default path if - # CUSPARSELT build is requested. libcusparseLt.so provides sm80+ tensor - # core support for 2:4 sparsity acceleration. + # Find the libcusparseLt.so library in package manager default path if + # CUSPARSELT build is requested. libcusparseLt.so provides sm80+ tensor + # core support for 2:4 sparsity acceleration. find_library(CUDA_CUSPARSELT_LIBRARY cusparseLt HINTS ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES} REQUIRED) find_path(CUDA_CUSPARSELT_HEADER cusparseLt.h HINTS ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES} REQUIRED) target_include_directories(mlir_cuda_runtime @@ -234,6 +235,10 @@ PRIVATE ${CUDA_CUSPARSELT_LIBRARY} ) + target_compile_definitions(mlir_cuda_runtime + PRIVATE + MLIR_ENABLE_CUDA_CUSPARSELT=1 + ) endif() endif() endif() diff --git a/mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp b/mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp --- a/mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp +++ b/mlir/lib/ExecutionEngine/CudaRuntimeWrappers.cpp @@ -20,9 +20,9 @@ #include "cuda_bf16.h" #include "cuda_fp16.h" -#if MLIR_ENABLE_CUDA_CUSPARSE +#ifdef MLIR_ENABLE_CUDA_CUSPARSE #include "cusparse.h" -#if MLIR_ENABLE_CUDA_CUSPARSELT +#ifdef MLIR_ENABLE_CUDA_CUSPARSELT #include "cusparseLt.h" #endif // MLIR_ENABLE_CUDA_CUSPARSELT #endif // MLIR_ENABLE_CUDA_CUSPARSE @@ -232,7 +232,7 @@ defaultDevice = device; } -#if MLIR_ENABLE_CUDA_CUSPARSE +#ifdef MLIR_ENABLE_CUDA_CUSPARSE /// /// Wrapper methods for the cuSparse library. @@ -454,7 +454,7 @@ CUSPARSE_SDDMM_ALG_DEFAULT, buf)) } -#if MLIR_ENABLE_CUDA_CUSPARSELT +#ifdef MLIR_ENABLE_CUDA_CUSPARSELT /// /// Wrapper methods for the cuSparseLt library.