Skip to content

WR-git2023/GPUStress

Repository files navigation

GPUStress

中文 | English

GPUStress 是一个基于 PyTorch CUDA 的多 GPU 压测命令行工具。它会自动检测本机 GPU、选择矩阵规模,并为每张 GPU 启动独立进程持续运行矩阵计算。

核心用法:

stress start --gpu 0
stress start --gpu 0,2
stress status
stress stop

注意:本工具仅供测试和娱乐用途。它会让 GPU 长时间保持高负载,请不要把它当作硬件认证、生产验收或无人值守稳定性验证工具。

一键安装

git clone https://github.com/WR-git2023/GPUStress.git
cd GPUStress
./install.sh

安装脚本会把 stress 命令安装到用户级 Python bin 目录,并把该目录写入 ~/.profile 和当前 shell 的配置文件。安装一次后即可长期使用,重启终端或重启机器后也不需要重新下载、重新安装。

注意:脚本不能直接修改“启动它的那个终端”的当前环境变量。如果安装后当前终端还找不到 stress,执行安装脚本最后提示的 export PATH=...,或重新打开一个终端。

快速使用

stress -h
stress start
stress status
stress logs -f
stress stop

常用参数:

stress start --gpus 2
stress start --gpu 0,2
stress start --size 8192
stress start --dtype fp16
stress start --foreground
CUDA_VISIBLE_DEVICES=0,1 stress start

指定 GPU:

stress start --gpu 0
stress start --gpu 1,3
stress run --gpu 2 --size 4096

--gpu 使用 PyTorch 当前可见的 GPU ID;未设置 CUDA_VISIBLE_DEVICES 时通常与 nvidia-smi 的 GPU ID 一致。不要同时使用 --gpu--gpus;前者用于精确指定 GPU,后者只表示使用前 N 张 GPU。--devices 也可作为 --gpu 的兼容别名。

环境变量

install.sh 会持久配置用户级 PATH,因此 stress 可以在任意目录执行。系统级全局 PATH 通常需要 sudo 权限修改 /etc/profile.d/,本项目默认不写系统目录。

可选环境变量:

export GPU_STRESS_PID_FILE=/tmp/gpu_stress.pid
export GPU_STRESS_LOG_FILE=/tmp/gpu_stress.log
export CUDA_VISIBLE_DEVICES=0,1

如果系统里已经存在另一个 /usr/bin/stress,安装脚本会把用户级 bin 目录放到 PATH 前面,让本工具的 stress 优先被执行。

依赖

  • Linux
  • Python 3.9+
  • NVIDIA GPU 和可用驱动
  • 支持 CUDA 的 PyTorch

默认安装会通过 pip 安装 torch>=2.0。如果你的 CUDA 环境需要特定 PyTorch 版本,请先按 PyTorch 官方说明安装匹配的 CUDA wheel,然后再运行:

python3 -m pip install --user --upgrade .

卸载

python3 -m pip uninstall gpu-stress-cli

如需完全清理,可以从 ~/.profile~/.bashrc~/.zshrc 删除 # Added by GPUStress installer 附近的 PATH 配置。

About

GPUStress: PyTorch CUDA GPU stress-test CLI; select devices with stress start --gpu 0 or --gpu 0,2.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors