概要
Gaussian16 rev C.02 では GPU を用いることで計算速度の高速化が可能。公式のベンチマークによると、最大で 4 倍まで計算速度が向上する。
Gaussian16 rev C.02 がサポートしている GPU は、Ampere 世代まで。公式にはデータセンターシリーズの GPU(例: A100、H100)しかサポートしておらず、GeForceシリーズ(例: RTX 4090)はサポートしてない。これは、Gaussian16 が fp64 という倍精度計算を実行するために ECC メモリの VRAM が必要となることが理由。
プロフェッショナルシリーズ(例: RTX A6000)のサポートは、公式には明言されてないが、ECC メモリを搭載しているため Gaussian で利用することが可能。
「NVIDIA Ada Lovelace アーキテクチャ」(例: RTX 6000 Ada)も Gaussian16 rev C.02 で利用可能。
検証環境
CPU: Ryzen 9 9950X
CPU: RTX A4000
OS: Fedora 40 server Edition
Nvidia Driver: 550.120 (NVIDIA Ada Lovelace アーキテクチャでは、550.144.03)
nvidia driver のインストールは以下の通り。
sudo dnf update
sudo dnf install gcc g++
sudo dnf install kernel-devel kernel-headers dkms
sudo dnf install xorg-x11-server-devel libglvnd-devel pkgconf-pkg-config
sudo wget https://us.download.nvidia.com/XFree86/Linux-x86_64/550.120/NVIDIA-Linux-x86_64-550.120.run
sudo chmod 755 NVIDIA-Linux-x86_64-550.120.run
sudo ./NVIDIA-Linux-x86_64-550.120.run
kernel に関するエラーが出た場合は、再起動してからもう一度 nvida-driver のインストールを試す(バージョンが一致していないことが原因)。
NVIDIA driver をインストールしてから RTX A4000 を挿す。
UEFI(BIOS) の secure boot は OFF にする。
secure boot が ON だと以下のメッセージが出る場合がある。
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.
Make sure that the latest NVIDIA driver is installed and running.
設定方法
プロフェッショナルシリーズの GPU では、デフォルトでは VRAM の ECC が OFF になっているので、これを ON にする必要がある。一般的には、以下のコマンドで ECC がどのような状態かを確かめるが、プロフェッショナルシリーズではうまく機能しない。
nvidia-smi -q | grep -i ecc
以下のコマンドで ECC を ON にし、再起動する。
(<GPU_ID> の部分を nvidia-smi で確認した gpu の id 番号に変える。)
sudo nvidia-smi -i <GPU_ID> -e 1
sudo reboot
再起動後にもう一度 ECC を ON にするコマンドを実行すると、以下のメッセージが表示される。これで GPU の準備は完了。
ECC support is already Enabled for GPU 00000000:01:00.0.
All done.
インプットファイルの書き方
GPU を使用する際は、Gaussian のインプットファイルは以下のように書く。ここでのメモリ指定は、マザーボード上のメモリではなく、GPU の VRAM を指定する。VRAM の容量は、nvidia-smi コマンドで確認する。
%CPU=0-15
%GPUCPU=0=0
%mem=14gb
%nosave
#p rb3lyp/6-31+G(d,p) force test scf=novaracc
<注意点>
%nproc と %GPUCPU は共存できない。
%GPUCPU を使う際は、必ず %CPU コマンドで CPU のコア数を指定する。
GPU 2 枚挿しの場合は、以下のように書く。
%CPU=0-15
%GPUCPU=0,1=0,1
Gaussian16 rev C.02 の GPU ベンチマーク
test0397.com の計算レベルを rb3lyp/6-31+G(d,p) に変更したベンチマークテストの結果を以下に示す。
Ryzen 9 9950x 16core + RTX A4000 0 枚:36 minutes 17.4 seconds.
Ryzen 9 9950x 16core + RTX A4000 1 枚:31 minutes 13.7 seconds.(約 1.16 倍)
Ryzen 9 9950x 16core + RTX A4000 2 枚:28 minutes 9.5 seconds.(約 1.29 倍)