在CuPy的NVRTC内核传入--gpu-architecture=compute_89报错,该如何解决?
问题解答
不用非得从源码编译CuPy来解决这个问题。
出现这个提示是因为CuPy已经自动根据你的GPU硬件,给NVRTC传递了对应的--gpu-architecture参数,你手动添加的参数和它重复了。
解决方法很直接:
- 直接删掉
options里的--gpu-architecture=compute_89参数,让CuPy自动适配当前GPU的架构即可。 - 如果确实需要指定特定架构(比如要兼容其他型号的GPU),可以通过设置环境变量
CUPY_NVRTC_FLAGS来统一指定编译选项,不用在RawModule里手动传参,示例如下:export CUPY_NVRTC_FLAGS="--gpu-architecture=compute_89"
只有当你需要强制CuPy针对某个特定架构做深度优化,且自动适配的结果完全不符合预期时,才需要考虑从源码编译。绝大多数场景下,自动适配或者通过环境变量指定就能满足需求。
内容的提问来源于stack exchange,提问作者Marko Grdinić
相关产品推荐
相关产品推荐

