Windows/Linux双系统下CUDA_VISIBLE_DEVICES配置全攻略(附Pytorch验证脚本)
在深度学习开发中,合理配置GPU资源是提升工作效率的关键。CUDA_VISIBLE_DEVICES环境变量作为NVIDIA提供的GPU设备控制机制,能够精确指定程序可用的显卡设备。本文将全面解析跨平台环境下的配置方法,并提供可直接验证的Pytorch脚本。
1. 理解CUDA_VISIBLE_DEVICES的核心机制
CUDA_VISIBLE_DEVICES通过设备过滤机制实现GPU资源的精准分配。当我们在多GPU环境中设置该变量时,实际上是在创建一个虚拟的设备映射表:
- 物理设备:服务器实际安装的GPU硬件(如nvidia-smi显示的0,1,2,3)
- 逻辑设备:程序运行时识别的GPU编号(始终从0开始连续编号)
例如设置CUDA_VISIBLE_DEVICES=2,1时:
- 物理GPU2 → 逻辑GPU0
- 物理GPU1 → 逻辑GPU1
- 其他GPU对程序不可见
这种映射关系直接影响深度学习框架的设备识别方式。在Pytorch中,torch.cuda.device_count()返回的始终是可见设备的数量,而非物理设备总数。
2. Windows系统配置方法详解
Windows平台提供多种配置方式,各有适用场景:
2.1 图形界面永久配置
- 右键"此电脑" → 属性 → 高级系统设置
- 环境变量 → 系统变量 → 新建
- 变量名:
CUDA_VISIBLE_DEVICES - 变量值:目标GPU编号(如
0,1) - 重启所有终端使配置生效

&spm=1001.2101.3001.5002&articleId=155262701&d=1&t=3&u=620ad02a1d634c5ca705aeb091b8515a)
2万+

被折叠的 条评论
为什么被折叠?



