我尝试nvcc
通过编译和运行简单的测试来设置 cmake 阶段的计算能力标志:
#include <cuda.h>
#include <cuda_runtime.h>
#include <stdio.h>
int main(int argc, char **argv){
cudaDeviceProp dP;
if(cudaSuccess != cudaGetDeviceProperties(&dP, 0)) return 0;
printf("-arch=sm_%d%d\n", dP.major, dP.minor);
return 0;
}
我在这里阅读了如何做到这一点,但try_run
让我只通过 gcc 编译目标。如果我添加cuda_compile
,我也不会得到二进制文件。
如何.cu
在阶段编译 -filecmake
并运行它execute_process
以设置正确的编译标志?