首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MITK插件中使用CUDA?

如何在MITK插件中使用CUDA?
EN

Stack Overflow用户
提问于 2017-10-09 09:42:55
回答 1查看 100关注 0票数 0

我正在尝试在MITK平台上使用CUDA。我使用的MITK平台是2014年版本,它不支持数据自动化系统;然而,我发现了一个回复,它显示了一个解决方案,但它也不适合我。根据MITK的Cmake,如果我在*.cpp脚本中将“CPP_FILES”文件设置为CPP_FILES标志,gcc会编译源代码,但是对于files.cmake没有变量。因此,根据上面的链接,我修改了"mitkFunctionCreateModule.cmake“

代码语言:javascript
复制
if (IS_CUDA)
    find_package(CUDA REQUIRED)
    set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS}; -std=c++11 )
    #list(APPEND CUDA_NVCC_FLAGS "-arch=sm_20;-std=c++11;-O2;-DVERBOSE")
    #SET(CUDA_PROPAGATE_HOST_FLAGS OFF)
    message ("is_cuda == true")
    cuda_add_library(${MODULE_TARGET} STATIC ${CUDA_FILES}) 
endif()

在files.cmake中,我添加了以下几行:

代码语言:javascript
复制
find_package(CUDA)
set(CUDA_FILES
  src/robot/cudafolder/testcuda.cu
  src/robot/cudafolder/testcuda.h
)
set(IS_CUDA true)
MITK_CREATE_MODULE(my_module
    DEPENDS MitkCore
    PACKAGE_DEPENDS Qt5|Core
    #ADDITIONAL_LIBS abc glew
)

libmy_module.a是在bin文件夹中创建的,但是我不能将它链接到主可执行文件!

PS:我面临的最大问题是我不能使用target_link_libraries!由于任何我不知道的原因,不可能将这个库链接到主要的MITK文件。任何在插件模块工作的专家都能在这件事上帮我吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-13 11:47:50

最后,我找到了一个在MITK插件核心添加CUDA的解决方案。

解决方案是在files.cmake的末尾添加这些行

代码语言:javascript
复制
find_package(CUDA)
set(CUDA_FILES
  src/robot/cudafolder/testcuda.cu
  src/robot/cudafolder/testcuda.h)

set(MyCudalib CudaTestLib)
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS}; -std=c++11 )
cuda_add_library( ${MyCudalib} SHARED ${CUDA_FILES}) 

然后从边CmakeLists.txt中的相同路径中添加以下行

代码语言:javascript
复制
TARGET_LINK_LIBRARIES(${PROJECT_NAME}  ${MyCudalib} ${CUDA_LIBRARIES} ${CUDA_nppi_LIBRARY})

对我来说很管用

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46643380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档