我有一个可视化的c ++项目,它创建了一个dll.对于这个项目,我有一个工作的CMakeLists.txt.
现在我创建了两个完成项目的cuda源文件,并且使用visual studio,构建工作正常.我想将匹配的命令添加到我的cmake文件中.谁能告诉我需要添加的基本命令?
我尝试构建一个dll库,其中我使用.cu和.cpp文件....我的cmake文件的重要部分如下所示:
# ----------------------------------------------------------------------------
# Set Cuda properties
# ----------------------------------------------------------------------------
enable_language(CUDA)
set(CUDA_SEPARABLE_COMPILATION ON)
set(CUDA_PROPAGATE_HOST_FLAGS OFF)
if (CMAKE_SIZEOF_VOID_P MATCHES 8)
set(CUDA_64_BIT_DEVICE_CODE_DEFAULT ON)
endif()
set(CUDA_NVCC_FLAGS "-gencode arch=compute_50,code=sm_50;-rdc=true;-use_fast_math")
message(STATUS "CUDA_PROPAGATE_HOST_FLAGS: ${CUDA_PROPAGATE_HOST_FLAGS}")
message(STATUS "CUDA_HOST_COMPILER: ${CUDA_HOST_COMPILER}")
message(STATUS "CUDA_NVCC_FLAGS: ${CUDA_NVCC_FLAGS}")
# ----------------------------------------------------------------------------
# Create shared library project
# ----------------------------------------------------------------------------
add_library(${LIB_NAME} SHARED ${HEADERS} ${SOURCES} ${CUDA_SOURCES})
set(CUDA_LIBRARIES "cudadevrt.lib;cudart.lib")
target_link_libraries(${LIB_NAME} ${CUDA_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)
但它没有使用正确的标志编译cuda文件.同样在visual studio中,预处理器定义也在属性的cuda部分....任何建议?