⚠️

RTX50XXシリーズのROP欠落をLinuxでチェックする方法

に公開

TL;DR

  • LACTを使って確認する
  • または有志の方のプログラムをコンパイル&実行して確認する

https://forums.developer.nvidia.com/t/check-the-rop-unit-count-under-linux-affects-all-rtx-50xx-cards/324769/95

ROP欠け問題

RTX50XXシリーズのGPUには製造時の欠陥でROPコア[1]が不足しているものが存在しています。私は深層学習のトレーニング用途でRTX5090を購入したため、ROPが欠けていても問題はない[2]とのことなのですが、衛生観念的に「調べておいたほうが良いかも...」となったため調べます。

LinuxではGPU-Zが使えない

多くのメディアでROP欠落を調べる方法はGPU-Zを使用すると説明されているのですが、GPU-ZはWindows専用です。前述の通り、私は深層学習用途にRTX5090を購入したので、OSにはLinuxを使用したいです。この場合、Linuxを入れる前にWindowsをインストールしてチェックすることが考えられます。しかし、今回は急ぎ環境構築を済ませる必要があり、Windowsを一旦インストールして検証することができませんでした。

また、WindowsPEで確認することも考えたのですが、Geforceドライバのインストール方法が不明だったので使用しませんでした。

NVIDIAのフォーラムへ

私と同じことを考える人は案外いるみたいで、「RTX5090 ROP Linux」のワードで検索するとすぐにNVIDIAのフォーラムがヒットしました。そして議論が進む上で、Miro256氏の報告により、NVIDIAがオープンソースにしたカーネルモジュールからROPのカウントが拾えることが判明しました。

https://forums.developer.nvidia.com/t/check-the-rop-unit-count-under-linux-affects-all-rtx-50xx-cards/324769/58

カーネルモジュール内該当コード
https://github.com/NVIDIA/open-gpu-kernel-modules/blob/25bef4626e6c5ccf5b433e1c22b6b1bd59e6f1bd/src/common/sdk/nvidia/inc/ctrl/ctrl2080/ctrl2080gr.h#L942-L963

そのコードを活用し、ROPが確認できるいくつかの小さいプログラムが投稿されたり、GPUの情報が確認できるLinux GPU Control Application(LACT)へROP数が確認できるコードが取り込まれました。

実際にやってみる

今回はLACTを用いた方法で確認します。環境はUbuntu 24.04, RTX5090です。

LACTのインストール

公式よりdebパッケージが提供されているためそちらを使用します。

wget https://github.com/ilya-zlobintsev/LACT/releases/download/v0.7.3/lact-0.7.3-0.amd64.ubuntu-2404.deb
sudo apt-get install ./lact-0.7.3-0.amd64.ubuntu-2404.deb

インストール後はサービスを有効にします。

sudo systemctl enable --now lactd

CLIで確認

~$ lact cli info
GPU 10DE:2B85-10B0:F319-0000:01:00.0:
=====================================
GPU Model: NVIDIA GeForce RTX 5090 (0x10DE:0x2B85)
Card Manufacturer: Unknown (0x10B0)
Card Model: Unknown (0xF319)
Driver Used: nvidia 570.124.06
VBIOS Version: 98.02.2E.00.91
VRAM Size: 32607 MiB
GPU Family: Blackwell
Cuda Cores: 21760
SM Count: 170
ROP Count: 176 (22 * 8)
VRAM Type: GDDR7
VRAM Manufacturer: Samsung
L2 Cache: 98304 KiB
Resizeable bar: Enabled
CPU Accessible VRAM: 32768
Link Speed: 32 GT/s PCIe gen 5 x16

正常な場合のコア数は以下の通りです。

Cuda Cores: 21760
SM Count: 170
ROP Count: 176 (22 * 8)
脚注
  1. CUDAコア, RTコア, Tensorコアに続く、グラフィック処理の一部を担うコアのこと。 ↩︎

  2. https://www.theverge.com/news/617901/nvidia-confirms-rare-rtx-5090-and-5070-ti-manufacturing-issue ↩︎

Discussion