cuda – 使用nvcc时的arch和代码选项的默认值是什么?

前端之家收集整理的这篇文章主要介绍了cuda – 使用nvcc时的arch和代码选项的默认值是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
编译CUDA代码时,必须选择要生成代码的架构. nvcc提供两个参数来指定这个架构,基本上是:

> arch指定虚拟arquictecture,可以是compute_10,compute_11等.
>代码指定真实的架构,可以是sm_10,sm_11等.

所以这样的命令:

nvcc x.cu -arch=compute_13 -code=sm_13

将为具有1.3计算能力的设备生成“cubin”代码.如果我错了请纠正我我想知道哪些是这两个参数的默认值?当没有指定拱或代码的值时,nvcc使用的默认架构是什么?

解决方法

好的,我终于设法发现了默认值.我的错误是从一开始就非常非常地阅读NVCC文档中GPU编译的整个章节.所以,
nvcc x.cu

相当于

nvcc x.cu –arch=compute_10 -code=sm_10,compute_10

那些是默认值.默认情况下,编译将执行到虚拟体系结构compute_10,而编译结果的a.out将包含sm_10实体架构的CUBIN代码和compute_10架构的PTX汇编代码,该代码将重新编译为“刚刚如果您的体系结构大于sm_10,则由CUDA驱动程序提供时间.

猜你在找的Linux相关文章