【发布时间】:2014-11-29 15:41:47
【问题描述】:
我在文件 kernel.cu 中有简单的内核
__global__ void add1( double * pi, double c )
{
*pi += c;
}
并且可以很容易地将它编译成一个 ptx 文件 kernel.ptx:
nvcc -ptx kernel.cu
现在,我想使用带有以下 CMakeLists.txt 的 cmake 重现相同的行为:
cmake_minimum_required(VERSION 2.8)
project(cmake_ptx)
find_package(CUDA REQUIRED)
cuda_compile_ptx(
test
kernel.cu
)
但是当我输入时
cmake 。 && 制作
没有构建 ptx 文件。如何使用 cmake 重现上述 nvcc 命令的行为?具体来说,如何:
将ptx文件的独立编译添加到目标(例如全部):我注意到当同一个CMakeFile中有另一个cuda_add_executable时,它也会构建ptx文件,否则不会.
将文件命名为源文件,但以 .ptx 而不是 .cu 结尾: 与此问题相关: How do I change the output filename of cuda_compile_ptx in CMake?
【问题讨论】: