nvidia 各 GPU 架构匹配的 CUDA arch 和 CUDA gencode

使用 NVCC 进行编译 cuda c(.cu)时,arch 标志 (-arch) 指定了 CUDA 文件将为其编译的 NVIDIA GPU 架构的名称。
Gencodes (-gencode) 允许更多的 PTX 代,并且可以针对不同的架构重复多次。

NVIDIA 架构名称的列表,以及它们具有的计算能力:

FermiKeplerMaxwellPascalVoltaTuringAmpereLovelaceHopper
sm_20sm_30sm_50sm_60sm_70sm_75sm_80sm_90sm_100
sm_35sm_52sm_61sm_72sm_86
sm_37sm_53sm_62
  • Fermi 和 Kepler 从 CUDA 9 和 11 开始弃用
  • Maxwell 从 CUDA 12 开始弃用
  • Lovelace 是取代 Ampere (AD102) 的微架构

什么时候应该使用不同的gencodescuda arch

当编译 CUDA 代码时,应该始终只编译一个-arch与最常用的 GPU 卡匹配的标志。这将实现更快的运行时,因为代码生成将在编译期间发生。
如果只提及-gencode,而忽略-arch标志,则 CUDA 驱动程序将在JIT编译器上生成 GPU 代码。

当想要加速 CUDA 编译时,想要减少不相关的 -gencode 标志的数量。但是,有时可能希望通过添加更全面的 -gencode 标志来获得更好的 CUDA 向后兼容性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值