海流シミュレーション用マシン

海洋の漂流物に関する研究に携わるお客様より、海流シミュレーション用マシンをご相談いただきました。
お客様の想定スペックは以下の通りです。

・CPU:Xeon Gold 5320 (2.2GHz 22コア) x2または同等品
・メモリ:128GB
・ストレージ:SSD 960GB S-ATA (システム用)、HDD 8TB S-ATA (データ用)
・OS:Windows

実際の計算ではOpenMPを用いたFortranプログラムを実行し、コンパイラはGnu Fortranを利用すると伺っています。
実施する計算プログラムは流体計算に近いこともあり、マシン選定では姫野ベンチマークの結果を参考にされているため、この点を踏まえた提案をご希望です。

お客様から頂戴した条件を踏まえて、弊社からは以下の構成をご提案しました。

【主な仕様】

CPU AMD Ryzen ThreadripperPRO 5975WX (3.60GHz 32コア)
メモリ 128GB
ストレージ1 1TB SSD S-ATA
ストレージ2 8TB HDD S-ATA
ビデオ NVIDIA T400
ネットワーク on board (1GbE x1 10GBase-T x1)
筐体+電源 タワー型筐体 + 1000W
OS Microsoft Windows 11 Pro 64bit

CPUはXeon Gold 5320ではなく、AMD Ryzen ThreadripperPRO 5975WXとしています。

■Point
・あえてXeon Gold 5320よりもコア数の低いCPUを採用した理由は、OpenMPを利用に配慮したため。

・姫野ベンチマークでの傾向を見ると、コア数が多いCPUよりも、1コアあたりの能力が高いものが上位に来やすい傾向がある。
参考:Himeno Benchmark (OpenBenchmarking.org) ※外部サイトに飛びます

指標とされている姫野ベンチマークの情報から、OpenMPで利用する場合には、1コアあたりの速度を優先した方が良い場合があるのではないかと考えご提案しました。
ただし、実際の処理内容や使い方によっては、CPU選びの考え方が異なる可能性がありますので、1コアあたりの速度を優先することが、必ずしも正しいとは限りません。本事例の構成は、確認できた情報の範囲での提案とお考えください。

本事例の構成は、お客様から頂戴した条件を元に検討した内容です。
掲載内容とは異なる条件でご検討の場合でも、お気軽にご相談ください。

■FAQ

・OpenMPとは
OpenMP (Open Multi-Processing) とは、共有メモリ型並列プログラムを作成、実行するための規格。C/C++、Fortranに対応しており、多くのコンパイラ環境で利用できるAPI。
OpenMPの実行モデルでは、各スレッドは並列領域が開始する際に生成実行され、 並列領域が終了するとマスタースレッドのみの逐次処理となる。

参考:OpenMP ※外部サイトに飛びます

 

・Gnu Fortranとは
GNU FortranまたはGFortranは、GNU Fortran compilerの名前であり、GNUコンパイラコレクション (GCC) の一部。
g77でサポートされているほとんどの言語拡張やコンパイルオプションと互換性があり、Fortran言語の他の多くの一般的な機能拡張と互換性がある。

参考:Welcome to the home of GNU Fortran ※外部サイトに飛びます

 

・姫野ベンチマークとは
姫野ベンチマークは理化学研究所で公開されているベンチマークソフト。
理化学研究所・情報基盤センターのセンター長である姫野龍太郎氏が非圧縮流体解析コードの性能評価のために考えたもの。

参考:姫野ベンチマーク (理化学研究所) ※外部サイトに飛びます