如何更改cuda_compile_ptx在C进行输出文件名?(How do I change the

2019-09-16 12:43发布

在CMake的与FindCUDA,给定一个输入文件filename.cu ,所述cuda_compile_ptx命令生成形式的输出文件名cuda_compile_ptx_generated_filename.cu.ptx ,但我需要输出的文件名的形式为filename.ptx

有一个简单的方法,使这项工作?

Answer 1:

理想情况下,你应该能够指定-o <outputName> 然而,问题是, CUDA_COMPILE_PTX宏实际上覆盖-o与选项cuda_compile_ptx_generated_${filename}.ptx

这里有两个替代方法来添加CUDA编译到项目

  1. 您仍然可以使用CUDA_COMPILE_PTX但通过重命名它解决的问题add_custom_commandadd_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/my_ptx.ptx COMMAND ${CMAKE_COMMAND} -E copy ${cuda_ptx_files} ${CMAKE_BINARY_DIR}/my_ptx.ptx DEPENDS ${cuda_ptx_files})并使用${CMAKE_BINARY_DIR}/my_ptx.ptxadd_custom_target
  2. 有编译CUDA PTXs与CMake的更好的选择。 宏的一个很好的例子做这个: https://github.com/nvpro-samples/shared_sources/blob/master/cmake/private/FindCuda.cmake 。 如何使用这个宏的例子可以在这里找到: https://github.com/nvpro-samples/gl_cuda_interop_pingpong_st/blob/master/CMakeLists.txt 。


文章来源: How do I change the output filename of cuda_compile_ptx in CMake?
标签: cuda cmake