動かざることバグの如し

近づきたいよ 君の理想に

GPUの負荷テストツール「gpu-burn」

環境

やりたいこと

GPUの負荷テストを行うためには、CPUやディスクの負荷テストで使われるstressコマンドとは異なり、GPU専用のツールが必要になる。

そこで見つけたのがgpu-burnというツールだ。gpu-burnは、NVIDIAGPUに対して特化した負荷テスト用ライブラリで、CUDAを利用してGPU資源をフルに活用する。

gpu-burnの特徴

  • マルチ-GPU対応: 複数のGPUで同時に負荷テストを実施可能。
  • シンプルな使用感: Dockerコンテナを使うことで、簡単に環境構築ができる。
  • 高いダイナミックレンジ: さまざまなGPUモデルに対して効率的に動作するよう設計されている。

これらの特徴から、GPUの性能を最大限に引き出すためのツールとして非常に有用だ。負荷テストに特化した設計が成されており、特にCUDAを用いた計算に最適化されているため、科学計算や機械学習の処理能力を検証したい方に最適だ。これからgpu-burnのインストールと実行方法について詳しく説明する。

インストール

wilicc/gpu-burn: Multi-GPU CUDA stress test

Dockerでの仕様が推奨されている。事前にNvidiaのドライバーがインストールされていてDockerコンテナからGPUが見れるようにしておく。

git clone https://github.com/wilicc/gpu-burn
cd gpu-burn
docker build -t -- .

実行

docker run --rm --init --gpus all gpu_burn

以下のように出力しつつ、全力でGPUを消費する。

$ docker run --rm --init --gpus all gpu_burn

==========
== CUDA ==
==========

CUDA Version 11.8.0

Container image Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

This container image and its contents are governed by the NVIDIA Deep Learning Container License.
By pulling and using the container, you accept the terms and conditions of this license:
https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license

A copy of this license is made available in this container at /NGC-DL-CONTAINER-LICENSE for your convenience.

GPU 0: NVIDIA GeForce RTX 3060 (UUID: GPU-8d286a01-6472-8816-acae-30e0e2d131f6)
GPU 1: NVIDIA GeForce RTX 4080 (UUID: GPU-9e89c544-03e0-af89-8bce-00eec4a2add2)
Using compare file: compare.ptx
Burning for 60 seconds.
10.0%  proc'd: 200 (34547 Gflop/s) - 39 (9144 Gflop/s)   errors: 0 - 0   temps: 73 C - 69 C

停止する際はCtrl+CでOK