cuda – 使用nvcc时的arch和代码选项的默认值是什么?
发布时间:2020-12-13 19:29:50 所属栏目:Linux 来源:网络整理
导读:编译CUDA代码时,必须选择要生成代码的架构. nvcc提供两个参数来指定这个架构,基本上是: arch指定虚拟arquictecture,可以是compute_10,compute_11等. 代码指定真实的架构,可以是sm_10,sm_11等. 所以这样的命令: nvcc x.cu -arch=compute_13 -code=sm_13 将
编译CUDA代码时,必须选择要生成代码的架构. nvcc提供两个参数来指定这个架构,基本上是:
> arch指定虚拟arquictecture,可以是compute_10,compute_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驱动程序提供时间. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |