为什么使用 -gencode 后编译的二进制文件会变小?
Why the compiled binary gets smaller when -gencode used?
为什么使用-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 字节
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)
为什么使用-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 字节
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)