使用-gencode时为什么编译的二进制文件会变小?

时间:2017-11-28 13:01:06

标签: cuda nvcc

为什么编译的二进制文件在使用-gencode时会变小?

我的GPU的功能是3.0。

NVCC选项:

没有-gencode选项:

1,780,520字节

-gencode=arch=compute_30,code=sm_30

1,719,080字节,变得更小

-gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_61,code=sm_61

1,780,800字节

1 个答案:

答案 0 :(得分:2)

Nvidia documentation告诉我们:

示例:

nvcc x.cu

相当于:

nvcc x.cu --gpu-architecture=compute_30 --gpu-code=sm_30,compute_30

但在你的情况下:

nvcc x.cu -gencode=arch=compute_30,code=sm_30

相当于:

nvcc x.cu --gpu-architecture=compute_30 --gpu-code=sm_30

不包含虚拟架构的PTX代码(例如compute_30)