Github 开源项目巡礼,那些完美适配 ROCm 7.x 的宝藏工具库
2026/6/26 5:21:04
创建一个交互式学习教程,通过简单示例教用户使用CUDA_VISIBLE_DEVICES。要求包含:1) 基础概念解释;2) 环境变量设置方法演示;3) 简单的GPU检测示例;4) 交互式练习让用户尝试不同的设备分配方案。使用Jupyter Notebook格式,包含Markdown说明和可执行代码块。CUDA_VISIBLE_DEVICES是NVIDIA提供的一个环境变量,用于控制程序可见的GPU设备。通过设置这个变量,我们可以灵活地管理多GPU环境中的资源分配,避免多个程序争抢同一块GPU的情况发生。
在多GPU系统中,如果不进行显式控制,程序可能会占用所有可用GPU资源。这会导致以下问题:
export CUDA_VISIBLE_DEVICES=0,1set CUDA_VISIBLE_DEVICES=0,1import os os.environ["CUDA_VISIBLE_DEVICES"] = "0"我们可以使用以下方法检测当前可见的GPU设备:
例如,在PyTorch中:
import torch torch.cuda.device_count() # 返回可见GPU数量为了加深理解,建议尝试以下练习:
CUDA_VISIBLE_DEVICES在以下场景特别有用:
Q: 设置后为什么程序还是使用了所有GPU? A: 可能设置时机不对,确保在导入深度学习框架前设置环境变量。
Q: 如何恢复默认设置? A: 取消设置环境变量或设置为空字符串。
Q: 数值代表什么含义? A: 数字对应nvidia-smi命令显示的GPU索引,从0开始。
在学习CUDA_VISIBLE_DEVICES的过程中,我发现InsCode(快马)平台提供了一个很便捷的实践环境。无需本地安装复杂的环境,直接在网页上就能运行和测试GPU相关的代码,对于初学者来说非常友好。特别是它的交互式编程界面,让我可以实时看到变量设置的效果,大大提升了学习效率。
创建一个交互式学习教程,通过简单示例教用户使用CUDA_VISIBLE_DEVICES。要求包含:1) 基础概念解释;2) 环境变量设置方法演示;3) 简单的GPU检测示例;4) 交互式练习让用户尝试不同的设备分配方案。使用Jupyter Notebook格式,包含Markdown说明和可执行代码块。创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考