GPU服务器环境变量详解
在GPU服务器的使用中,环境变量(Environment Variables)是配置深度学习框架、GPU驱动、CUDA工具链以及多任务资源分配的关键工具,合理配置环境变量可以显著提升计算效率、避免资源冲突,并保障任务的稳定运行,以下是关于GPU服务器环境变量的核心知识点与实用指南。
环境变量是操作系统中用于动态传递参数的全局变量,能够影响应用程序的运行行为,在GPU服务器中,环境变量通常用于:
以下为常见且关键的环境变量及其作用:
CUDA_VISIBLE_DEVICES
export CUDA_VISIBLE_DEVICES=0,1 # 仅使用编号为0和1的GPU
NVIDIA_VISIBLE_DEVICES
NVIDIA_VISIBLE_DEVICES=all # 开放所有GPU NVIDIA_VISIBLE_DEVICES=2 # 仅显示编号2的GPU
TF_FORCE_GPU_ALLOW_GROWTH
(TensorFlow专用)export TF_FORCE_GPU_ALLOW_GROWTH=true
PYTORCH_CUDA_ALLOC_CONF
(PyTorch专用)export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:32 # 限制内存块拆分大小
CUDA_CACHE_PATH
export CUDA_CACHE_PATH=/path/to/cache
根据使用场景,环境变量的配置方式分为临时生效与永久生效:
在终端中直接使用export
命令(仅对当前会话有效):
export CUDA_VISIBLE_DEVICES=0
用户级配置:
将变量写入用户主目录的~/.bashrc
或~/.profile
文件末尾:
echo 'export CUDA_VISIBLE_DEVICES=0' >> ~/.bashrc source ~/.bashrc
系统级配置:
将变量写入/etc/environment
(需管理员权限):
sudo sh -c 'echo "CUDA_VISIBLE_DEVICES=0" >> /etc/environment'
printenv | grep CUDA # 查看所有含CUDA的环境变量
nvidia-smi
命令: nvidia-smi -L # 列出所有可用GPU设备
import torch print(torch.cuda.device_count()) # 输出可见GPU数量
source ~/.bashrc
。 ~/.bashrc
)中设置变量。 -e
参数: docker run -e CUDA_VISIBLE_DEVICES=0 ...
CUDA_VISIBLE_DEVICES
将任务绑定到独立GPU,减少干扰。 引用说明