トップ サイトマップ
関連情報

ベンチマーク解析事例のご紹介

Fortranなどのプログラムの高速化、並列化
マルチコア/マルチプロセッサ向け移植

高速化や並列化等のチューニングにおいては、コードの用途とチューニングの目的に応じた、適切な検証用のデータの用意とベンチマーク解析が重要となります。NAGチューニングサービスでは、弊社が最適化したコードがお客様の目的に応じた適切な結果を生成するかどうかを、お客様との直接のご相談を通してベンチマークデータを設定頂き、確実な性能と精度の検証を行います。

ここでは、NAGが直接実施あるいはお客様の開発をサポートしたHECToRプロジェクト(プロジェクトHP:http://www.hector.ac.uk/)での、チューニング作業に用いたベンチマークデータと結果についての代表的な事例をご紹介します。
この他の事例や、それらのより具体的な内容については事例一覧ページから詳細レポートをご覧ください。

流体解析分野

コード BOFFS(Block overset Fast Flow Solver) [詳細レポート12]
利用分野 空気力学、ターボ機械、航空力学、空力音響
解析対象 航空機タービン等の低圧ターボ(LPT)におけるリムシール、ラビリンスシール、遷移流を含むキャビティー流などの乱流解析
チューニング 作業1:圧縮性/構造LESコードに対する、ブロック間転送のMPI通信とブロック内計算でのOpenMP性能の改善
作業2:圧縮性/構造LESコードに対してMPIタスクへ複数ブロック割当てを可能にする
作業3:非圧縮性/構造LESコードに対して、三重対角行列ソルバー(TDMA、GS)にOpenMP並列によるred-black法を適用した性能改善
ベンチマーク 作業1:
・3Mグリッドと12M グリッドを4ブロックあるいは32ブロックで分割したメッシュデータを用いたサンプルデータ
・高圧タービンブレード(HPT)のブレードスパン方向に生成し剥離した大規模渦構造
・定圧タービンブレード(LPT)の周期的後流より誘起される遷移と端壁の流れ解析
・リムシール・キャビティ流の主通路側壁と剥離領域への影響解析
・ラビリンスシールの回転壁近傍の高渦度と境界層流れ解析
作業2,3:
・50百万セル、108グリッドブロックを用いた亜音速噴流のLES
・12百万グリッド点、128ブロックの構造グリッド上の非定常流体
結果

作業1:

Test Cases Wall clock time to perform 1 time step(in seconds)
Original code New code
1 thread 8 threads 1 thread 8 threads 16 threads 32 threads
4BLK_3M 82.4 27.1 114.5 30.5 26.3 25.4
4BLK_12M 396.3 122.2 544.15 137.4 122.0 115.0
32BLK_3M 12.63 5.7 16.4 4.0 4.0 4.6
32BLK_12M 62.5 27.2 62.8 18.5 18.1 18.5
元のコードと新しいコードの性能比較
BOFFS BOFFS
高圧タービンブレード近傍の渦構造 LPTブレード先端周囲の速度等値面
BOFFS BOFFS
リムシール・キャビティ形状の乱流強度等値面 ラビリンスシール流れ場の渦度等値面

作業2

BOFFS
N n d S Cores Time(s)GCC Time(s) PGI
108 4 1 1 864 144.92 151.81
108 4 2 1 864 102.79 114.13
108 4 4 1 864 78.76 89.23
108 4 8 1 864 67.28 78.87
54 8 1 2 224 231.61 243.08
54 8 2 2 224 124.05 132.77
54 4 4 1 448 72.18 77.70
54 4 8 1 448 50.10 53.84
亜音速噴流のLESによるU速度場の等値面 50百万グリッド、108グリッドブロックを用いた10繰返しの実行時間[秒]。8スレッド使用時に半分のコア数で2割高速化した。

作業3

BOFFS BOFFS
MPIのみの計算でのコンパイラーとコードバージョンの性能比較 OpenMP/MPIハイブリッドでの、コンパイラーとコードバージョンの性能比較。オリジナルコードに対して新しいコードは実行時間が半分になった

コード CABARET(Compact Accurate Boundary Adjusting high REsolution Technique) [詳細レポート]
利用分野 空気力学、ターボ機械、航空力学、空力音響
解析対象 航空機フラップ/ジェット相互作用による騒音解析
チューニング 圧縮性/非構造LES/シリアルコードに対する、自動領域分割とOpenMP/MPIハイブリッド並列の実装
ベンチマーク ・51.2百万セルを用いた3D後方ステップベンチマーク
・3D後方ステップモデル:40000時間ステップ境界条件は層流、レイノルズ数=5000、マッハ数=0.1、グリッドサイズ80万点
結果
CABARET CABARET
後方ステップ5.12×10百万セルのスケーラビリティー(N=MPIタスク数/node、d=スレッド数/MPI) 40000時間ステップにおける流れ場のx方向速度場成分
CABARET CABARET
2つのメッシュ解像度に対する時間平均速度場 ステップ当り20セルのグリッド密度に対する渦度(Q-norm)等値面

コード Code_Saturn [詳細レポート要約]
利用分野 汎用流体解析
解析対象 原子力熱水力発電、ガスおよび石炭の燃焼、ターボ機械、暖房、換気および空調など
チューニング 汎用CFDコードに対する、並列計算向け領域分割パッケージの導入と調査
ベンチマーク ・122M個の四面体セル構造のDARPA-2潜水艦周囲の水流のシミュレーションに対して、Metis 5.0pre2, ParMetis 3.1.1, PT-Scotch 5.1, Zoltan (RIB) 3.0を用いて性能を比較
結果
Code_Saturne Code_Saturne
DARPA-2 submarine model 潜水艦ケースにおける繰り返し毎の実行スピード比較

コード DSTAR [詳細レポート]
利用分野 空気力学、空力音響、乱流燃焼、多相乱流
解析対象 圧縮性/構造LES/DNSコードに対する、渦ダイナミクス、エントレインメント、ミキシング、乱流、蒸発液滴の間に存在する複雑な相互作用を持つ多相反応流
チューニング 2DECOMP&FFTライブラリを用いた2次元ペンシル領域分割によるMPI並列化、各ローカルグリッド上の演算をOpenMP並列化、MPI-I/Oによる入出力処理の最適化、F77コードのF95へのリファクタリング
ベンチマーク 1536x1536x1536グリッド、18,432コアまでを測定
結果
DSTAR 2D領域分割でのMPIランク総数に対するコアソルバーサブルーチン(RHS)の性能。ここで768と1536サイズの立方体グリッドに24と48プロセッサ列を用いた。1D領域分割のハイブリッドモード(MM)コードによる各グリッドで768と1536MPIタスクによる性能が優れている結果となった(ここではOpenMPスレッド数を増やしている)。

コード Incompact3D [詳細レポート]
利用分野 空気力学、ターボ機械、空力音響、乱流研究
解析対象 産業用ミキサー,静音空気ブレーキ,空調,燃焼、マルチスケール/フラクタル物体により生成される乱流
チューニング 非圧縮性/構造DNS/LESコードに対する、2D領域分割&FFTインターフェイスライブラリ'2DECOMP&FFT'の開発と実装による利用可能コア数の拡大
ベンチマーク ・4096x4096x4096メッシュ、16384コアを使用
結果
Imcompact3D
強スケーリング性能。左図: 2DECOMP&FFTを組み込んだIncompact3D。右図:P3DFFTを用いたP.K.YeungによるスペクトルDNSコード(参考値)

コード Transflow/StreamMD [詳細レポート]
利用分野 マルチスケールモデリング、トライボロジー、化学工学
解析対象 壁面滑り解析、表面組織と被覆研究、エキゾチックで複雑な液体の構成的モデリング、移動接触線問題の解析、乱流摩擦抵抗の低減など
チューニング 連成基盤モジュールの開発:データのパッキングと通信のための内部ルーチン開発および、DNSやMDアプリケーションからアクセス可能なインターフェイスモジュール開発
ベンチマーク ・Transflow:MPIタスクあたり370,000グリッド、768コア
・StreamMD:3,317,760分子のレナード・ジョーンズ系、5000ステップ、1024コア
・連成:カノニカルせん断クエット流(参照文献による)
結果
transflow
コード個別の並列性能。(a:左図):TransFlowの並列性能、(b:右図):StreamMDの並列性能(△)対、Cray X5におけるLAMMPSの性能(□)。
transflow
連成コードの精度とスケーラビリティ。(a:左図):クエット流の解析解に対する連成コードの検証。(b:右図):StreamMDのみの並列高速化(△)、連成コード(○)、理論性能(破線)。

コード SWT/SS3F [詳細レポート要約]
利用分野 空気力学、乱流研究
解析対象 SWT:非回転ひずみに対する流れのレスポンスや乱流クエットポアズイユ流、 SS3F:成層流内の渦ダイナミクスのシミュレーション
チューニング 圧縮性/構造DNSコード/ブジネスク近似コードに対する、2DECOMP&FFTライブラリーによる2D領域分割の実装、FFTW3ライブラリへの置き換え、チェビシェフ変換ルーチン、メッシュの再番号付け
ベンチマーク ・SWT:3072×325×1024グリッド ・SS3F:768×1536×3072グリッド
結果
SWT SS3F
SWTの性能 SS3Fの性能
物性科学分野

コード CASINO [詳細レポート]
利用分野 物性科学、少数多体系電子状態
解析対象 結晶、ナノクラスター、マクロ分子等、少数多体系電子状態の高精度計算
チューニング 拡散量子モンテカルロ法(DMC)におけるSHMEM利用による省メモリー化、単一配位計算内の電子数ループのOpenMP並列化によるハイブリッド並列化、I/O処理の最適化とMPI並列によるデータ分散処理の追加
ベンチマーク 1,536電子系
結果
threads No.MP 1 2 4
System 1 1024電子
DMC 672 723 481 363
System 2 1536電子
DMC 1542 1654 1154 966
CASINO
クアッドコアでの1,2,4スレッドでのOpenMP/MPI並列アルゴリズム計算時間[秒]。第1列はOpenMPフラグ無でコンパイルした場合の実行時間。 ORNLにおけるJaguar Cray XT5上のCASINOのタスク数に対する性能。

コード CASTEP [詳細レポート]
利用分野 物性科学、固体、表面物性、ナノテクノロジー
解析対象 セラミックス、半導体、金属、界面/表面等。無機及び有機光起電材料、表面での触媒反応、光ディスプレイ用の発光ポリマー材料、およびフェムト秒レーザ化学
チューニング 現状DFT法計算のシステムサイズNに対してO(N^2)でスケールするBFGS法メモリー要求量の削減のための、LBFGS(limited memory BFGS)法の実装
ベンチマーク 1000原子の水晶
結果
CASTEP CASTEP
弾性特性とフォノンモード計算を含む座標最適化計算性能。+記号のBFGSは2次スケール性、×記号のLBFGS(線の下から上に履歴長15,30,45,60,100)は線形スケールする 固定履歴長のヘッシアン解析性能

コード Chemshell [詳細レポート要約]
利用分野 物性科学、量子化学、化学反応、触媒化学、表面化学、高機能性材料
解析対象 不均一系触媒の構造と反応性の研究,バルク及び表面における欠陥と活性に関する物理及び化学プロセスや高度な機能性材料の研究
チューニング QMおよびMD外部プログラムを用いたQM/MM計算に対するタスクファーミング並列の実装
ベンチマーク ・有限差分へシアン計算:57原子のケイ酸VO3クラスター[B3LYP/GAMESS-UK、LANL2(413基底)およびTZVP(1032基底) ]
・NEB法による2構造間の最小エネルギーパス計算:アルミニウムがドープされた酸化亜鉛ZnOクラスタ表面上に吸着した二酸化炭素と2つの水素分子から成る、3207原子のクラスターのQM/MM計算を用いた、2つの異なるサイトに在るH-CO2のHの交換に関するエネルギー障壁の計算[QM領域は32原子、B97-1/GAMESS-UK、PVDZ(194基底)]
・確率的探索法によるポテンシャルエネルギー曲面上の大域的最小値計算:(ZnO)28ナノクラスター[B97-1/GAMESS-UK、PVDZ(560基底)、32構造を用いた]
結果
Chemshell
LANL2 ECP basis
WGs Procs/WG Time/s Speed-up
1 1024 7896
4 256 2444 3.2
16 64 1290 6.1
64 16 1151 6.9
ケイ酸VO3クラスター Workgroup(WG)当りのプロセッサ数を変化させた場合の有限差分へシアン性能の向上
Chemshell
WGs Procs/WG Time/s Speed-up
1 1024 26404
2 512 14673 1.8
4 256 7089 3.7
8 128 3110 8.5
ZnOクラスター Workgroup(WG)当りのプロセッサ数を変化させた場合のNEB法計算性能の向上
WGs Procs/WG Time/s Speed-up
1 1024 23535
4 256 8930 2.6
16 64 4270 5.5
64 16 4197 5.6
確率的探索法によるポテンシャルエネルギー曲面上の大域的最小値計算の性能

コード CRYSTAL [詳細レポート]
利用分野 量子化学、材料化学、周期系分子計算
解析対象 3次元結晶、2次元スラブ、2次元高分子、周期系、単独分子等の電子構造解析
チューニング 現状のHF/DFT法へ、O(N)の分割統治法とタスクファーミング並列処理を実装
ベンチマーク 10オングストローム立方体内の液体ネオン
結果
CRYSTAL CRYSTAL
10オングストローム立方体内の液体ネオン。MDで初期配置を設定 分割統治法アルゴリズムのSCF収束に掛かるCPU時間。ほぼ完全な線形スケール性を示している。

コード DL_POLY_3 [詳細レポート]
利用分野 物性科学、固体化学、分子シミュレーション、ソフトマター等のMDシミュレーション研究
解析対象 固体、水や生体分子等の系、ソフトマター等
チューニング 大規模MDシミュレーションにおいてボトルネックとなるI/Oに対する、MPI-I/O実装による改善
ベンチマーク NaClイオン:216,000個および1,728,000個
結果
DL_POLY_3 DL_POLY_3
216,000イオン系での全性能 1,728,000イオン系での全性能

コード DL_POLY_4 [詳細レポート]
利用分野 物性科学、固体化学、生体分子シミュレーション、ソフトマター等のMDシミュレーション研究
解析対象 固体、生体分子、ソフトマター
チューニング ・並列リンクセルアルゴリズムの実装
・DaFT内の1次元FFTを、スレッド化されたACMLルーチンで置き換える
・SHAKE/RATTLEアルゴリズムをOpenMP並列化する
・計算と通信のオーバーラップを実装
ベンチマーク ・液体アルゴン:力場は12-6レナード-ジョーンズ・ポテンシャルのみ、原子256,000個、1辺210.36Åの立方体ユニットセル、カットオフ:15Å
・ナトリウム/カリウム・二ケイ酸塩ガラス:粒子数69,120個、カットオフ12.03Å、一辺96.72Åの立方体セル、Van Der Waals、Ewald項、3体項を含む
・水中の生体分子グラミシジン-A:99,120原子、カットオフ8Å、ユニットセルはa=94.6Åおよびc=112.7Åの正方晶形。上述の力場に加えてボンド結合を含む
結果
DL_POLY_4 DL_POLY_4
アルゴン系の性能 ナトリウム/カリウム・二ケイ酸塩ガラス系の性能
DL_POLY_4
水中の生体分子グラミシジン-A系の性能

コード UKRMol-in [詳細レポート]
利用分野 原子分子物理、宇宙物理、プラズマ物理、生体環境の損傷プロセス研究
解析対象 DNAと電子の衝突計算、分子クラスターと電子の衝突計算、細胞中の生体物質からの電子散乱、陽電子-電子衝突
チューニング 時間依存R行列法コードのハミルトニアンの構築と対角化における、spMV処理のOpenMP/MPIハイブリッド並列化、対角化ソルバーにSLEPcライブラリ導入
ベンチマーク リン酸+水分子、122102次元ハミルトニアン行列、1.6188個の非零要素、64コア
結果
結果
UKRMol-in UKRMol-in
小テストケースH2Oのハミルトニアン構造。CCブロックの内部”クラス”構造は密構造であることに注意。BCブロックも密である。BBブロックが唯一のスパース部分で非構造的で分子から分子へ変化する。 対角化部の性能 。64コアまでスケールした。

コード VASP [詳細レポート]
利用分野 固体物理、表面、触媒等
解析対象 DFT法による物質の電子状態解析
チューニング スケーラビリティー改善のためにk点並列処理を実装する
ベンチマーク ・パラジウム32原子中の水素欠陥。10k点。
・酸化鉛(リサージ、α-PbO)のユニットセル。全4原子。108k点。
・PbOユニットセル。128k点。
・酸化鉛(リサージ、α-PbO)ユニットセル。全4原子。24k点。
・フォノン計算。20k点。
結果
VASP VASP
パラジウムケースの速度向上(64コアを1とした) 酸化鉛(108k点)ケースの速度向上(144コアを1とした)
VASP VASP
PbOユニットセルケースの速度向上(144コアを1とした) 酸化鉛(24k点)ケースの速度向上(256コアを1とした)
VASP
フォノン計算の速度向上(32コアを1とした)

コード RMT [詳細レポート、[要約]
利用分野 レーザー物理、原子物理学、散乱理論、フェムト秒、アト秒レーザーパルス、高強度短時間レーザーパルス中の多電子原子・分子系
解析対象 ネオン原子の準外殻からの光放出における最近のアト秒の遅延計測実験の相補的解析、ヘリウム原子の高次高調波発生計算、分子内殻励起とdecay、自由電子X線レーザーによるXUV周波数での高強度レーザー原子相互作用
チューニング 多電子原子分子系の時間依存シュレディンガー方程式のR行列法コードに対して、内殻と外殻間の負荷バランスの改善とMPI通信の効率化、および内殻と外殻を繋ぐプロパゲータモデルを最適化する。
ベンチマーク 高強度赤外レーザー10サイクルを照射したネオン原子
結果
DSTAR 外側領域の格子点数は、負荷バランスを改善することによって速度を最適化するように選択された。内側領域は100コアで固定。負荷バランスの実装により高速化している 。
地殻工学分野

コード CITCOM [詳細レポート]
利用分野 地球物理、地殻力学
解析対象 FEM法による地球マントルに関する熱対流問題解析
チューニング マルチグリッド法の改善:既存のVサイクルを改善し、WサイクルとFサイクルを実装する。
ベンチマーク ・2D/3D時間依存レイリー・ベナール対流
・2つの岩石圏あるいは岩盤/プレートが出会い、一方が相手の下に沈み込む、大規模かつ急激な粘度変化を伴う、2D/3D沈み込み帯の地殻力学過程
結果
CITCOM
2次元レイリー・ベナール対流テスト問題のMG法の並列性能とスケール性
CITCOM
2次元レイリー・ベナール対流テスト問題の温度と速度場
CITCOM
3D沈み込み帯の地殻力学過程のMG法の並列性能とスケール性
CITCOM CITCOM
3D沈み込み帯の地殻力学過程の温度と速度場
生体工学分野

コード CARP(Cardiac Arrhythmia Research Package) [詳細レポート要約]
利用分野 心臓モデリング、心臓バイドメイン解析
解析対象 不整脈、不随意細動解析
チューニング 非構造有限要素法コードに対する、ParMETIS領域分割の導入、PETScパラメータ最適化、非同期出力化による並列スケール性の拡大
ベンチマーク ・TBunnyC1:ラビット心臓3Dメッシュ、862,515頂点、5,082,272要素
・OxfordHeart2:上記の詳細版、6,901,583頂点、40,992,163要素
・HumanHeart3:ヒト心臓3Dメッシュ、26,190,199頂点、152,891,134要素
結果
CARP CARP
左図:既存のノードベース分割、右図:新しい要素ベース分割 ヒト心臓モデルでの並列スケール性の拡大
CARP
TBunnyCケースでの並列スケール性の拡大
CARP
OxfordHeart2ケースでの並列スケール性の拡大

コード VOX-FE [詳細レポート要約]
利用分野 骨格モデリング
解析対象 "切歯咬合でのヒト下顎(顎骨)モデリングにおける軸力下の大腿骨の応力解析
チューニング ボクセルベース並列有限要素法モジュールPARA-BMUに対し、ファイルをnetCDF-HDF5フォーマットへ変更することで、ファイルサイズを縮小し、並列netCDFルーチンを用いたディスクI/O並列化を実装する。
ベンチマーク 29M要素のから成る884個のz平面を持つ高解像度モデル
結果
Input
FileSize Worst-time I/O speed
Serial 567MB 30s 18.9MB/s
Parallel 2.9MB 0.4s 0.05MB/s
Output
FileSize Worst-time I/O speed
Serial 2600MB 118s 22MB/s
Parallel 994MB 7s 1MB/s
ノード当たり32プロセス×4ノードでの入力性能 ノード当たり32プロセス×4ノードでの出力性能
VEX-FE
PARA-BMUのI/Oの強スケーリング性能
海洋モデリング分野

コード PEQUOD(Parallel Quasi-Geostrophic Model) [詳細レポート]
利用分野 気象学、海洋循環モデリング
解析対象 気候変動研究における海洋の中規模から大規模な渦の還流
チューニング 非圧縮性/構造格子の多層準地衡的渦位方程式コードに対する、ヘルムホルツ・ソルバー並列化およびMPI集団通信性能の改善
ベンチマーク ・二重還流の準地衡モデル:3層の1025×1025グリッドの一様なグリッド、外力、散逸過程、風外力パラメーター、および横粘性/底面摩擦パラメーターを含む
結果
PEQUOD PEQUOD
PEQUODの新/旧グローバル集団通信性能の比較 PEQUODの新グローバル集団通信を用いた弱スケーリング性能
大気化学分野

コード TOMCAT/GLOMAP [詳細レポート]
利用分野 "気象学、地球環境学、エアロゾル解析"
解析対象 GLOMAP:核化、凝固、凝縮、雲生成といったプロセスをシミュレートするサイズ分解エアロゾルの微視的物理
チューニング コア当たりのメモリー削減、OpenMP並列の導入によるハイブリッド並列化
ベンチマーク 31の鉛直レベル解像度とT42スペクトル(2.8x2.8緯度/経度)の水平解像度の全球モデル
結果
GLOMAP
32MPIタスク配置でのハイブリッド並列GLOMAPの性能
遺伝子統計分野

コード SPRINT(Simple Parallel R Interface) [詳細レポート1要約1)、 詳細レポート2要約2-1, 要約2-2)、 詳細レポート3要約3)]
利用分野 "バイオインフォマティクス、遺伝子解析、マイクロアレイ解析
解析対象 マイクロアレイ実験データの遺伝子解析
チューニング ・ピアソンのペアワイズ相関関数の並列化
・ステップダウン法の多重検定での並べ替え検定関数の並列化
・ランダムフォレスト分類器の並列化
・rank product法の並列化
・並列ブートストラップ関数pbootの改善
ベンチマーク ・ピアソン関数:11.001遺伝子の320サンプルを含むデータセット
・並べ替え検定関数:6102列の遺伝子と76行のサンプルによるデータセットを用いて150,000並べ替えを実行
・ランダムフォレスト:23292遺伝子を持つ62個体ケースのマイクロアレイデータ
・rank product:23292遺伝子を持つ35と27の2種クラスで、1024および16384サンプルケース
・pboot:急性リンパ性白血病(ALL)の47患者と急性骨髄性白血病(AML)の25患者、および7129遺伝子に対して中央偏差と標準偏差を計算する。
・pboot:サンプルサイズを2500遺伝子、複製数を999個にして、6-medoidsクラスタリング計算を行う。
結果
SPRINT SPRINT
ピアソンのペアワイズ相関関数の性能 2クラスの場合のrank product分析の高速化率と並列効率。青線は理論ピーク効率。データセットは23292個の遺伝子と35 + 27個のサンプル、945ペアワイズ比較を行う。
SPRINT SPRINT
ランダムフォレスト分類器の8192ツリーケースの高速化率と並列効率。 標準偏差計算の高速化率と並列効率
SPRINT
6-medoidsクラスタリングの高速化率と並列効率。

NAG HPCチューニングサービスのご利用について

NAG HPCチューニングサービスのご依頼、チューニングや高速化業務の委託をご希望場合は、まずはコンサルティングサービス・ご相談フォームにご記入の上お問い合わせください。またはお電話(03-5542-6311)にてお問い合わせ下さい。


Results matter. Trust NAG.

Privacy Policy | Trademarks