为什么在WSL环境中使用RAPIDS时会出现CUDA内存错误?
故障根因
你遇到的cudaErrorNotSupported报错和系统内存、显存占用无关,核心原因是GPU架构与RAPIDS版本不兼容:
- RAPIDS 21.10及更高版本仅支持图灵(Turing,计算能力7.5+)、安培及以上架构的NVIDIA GPU
- 你使用的GTX 1070属于Pascal架构(计算能力6.1),已经不在21.10版本的支持范围内,所有涉及显存分配、CUDA内核执行的操作都会触发不支持报错。
可行解决方案
- 降级安装RAPIDS 21.08版本,这是最后一个官方支持Pascal架构的RAPIDS正式版本,使用conda安装时指定对应版本即可:
conda create -n rapids-21.08 -c rapidsai -c nvidia -c conda-forge rapids-blazing=21.08 python=3.8 cudatoolkit=11.2
- 先限制WSL 2的资源占用避免系统内存不足引发额外异常,在Windows用户根目录下创建
.wslconfig文件,写入以下配置:
[wsl2] memory=6GB processors=4 swap=2GB
配置完成后在Windows终端执行wsl --shutdown重启WSL即可生效。
- 如需使用更高版本的RAPIDS功能,更换为图灵架构及以上的NVIDIA GPU(如GTX 16系列、RTX 20/30/40系列)即可。
内容的提问来源于stack exchange,提问作者ARandomeUser
相关产品推荐
相关产品推荐

