| ■ NAS Parallel Benchmark | |||||||||||||||||||||||
|
1999/11/08 NAS Parallel Benchmarks(NPB)は、NASA Ames Research Centerで開発された、並列コンピュータのためのベンチマークです。NPBは、5つのParallel Kernel Benchmarksと3つのParallel CFD(Computational Fluid Dynamics)Application Benchmarksから構成されており、並列コンピュータの実効性能を知るうえで、権威あるベンチマークの1つです。 また、NASA Ames Research Centerより定期的にWWWなどで発行されているレポート(NAS Parallel Benchmark Results)では、プログラム実行に要した経過時間(elapsed time)と、Y-MP/1またはC90/1との性能比などについて報告されています。 各問題には問題のサイズのことなる5つのクラスが定義されています.5つとはそれぞれ,A, B, C, W(orkstation), S(ample) です.その相違点は、基本的には問題サイズ(配列サイズ)や反復回数の違いにあります.今回の発表ではAおよび,Bクラスを使用しました.
-Kernels The Embarrassingly Parallel (EP) Benchmark :EP(The Embarrassingly Parallel)ベンチマークは、並列計算に適しており、指定されたスキームに従い生成された、多数のガウス分布に従う擬似乱数を用いて、2次元の統計情報を蓄積するものです。 この問題は、モンテカルロ法を用いた応用プログラムによくみられます。この問題を解く際に転送をほとんど必要としないこのから、ある意味において本ベンチマークは、システムがもつ浮動小数点演算の最大実効性能を示すものと言えます。 Multigrid (MG) Benchmark :MG(Multigrid)ベンチマークは、3次元ポアソン方程式を簡略化したマルチグリッド法で解いています。Class B では、Class A と同じ大きさの格子を使用していますが、内部のループの繰り返し数が Class A より大きくなっています。 Conjugate Gradient (CG) Benchmark :CG(Conjugate Gradient)ベンチマークは、大規模で正値対称な疎行列の、最小固有値の近似値を共役勾配法を用いて解いています。このカーネルは非構造格子を用いたアプリケーションでよく見られます。 3-D FFT PDE (FT) Benchmark :FT(3-D FFT PDE)ベンチマークは、3次元偏微分方程式をFFTを用いて解いています。このカーネルはスペクトル法を使用したアプリケーションの典型的なところを評価しています。このベンチマークは、ライブラリルーチンの使用が認められている点で、やや趣を異にしています。 Integer Sort (IS) Benchmark :IS(Integer Sort)ベンチマークは、パーティクル法を使用したアプリケーションにおいて重要なソートを評価するものです。このタイプのアプリケーションは、物理における、パーティクルをあるセルに割り当てて、パーティクルがセルから流れ出るかどうかを見る、particle-in-cell法のアプリケーションに似ています。ソートは、パーティクルを再び適切なセルに割り当てる際に使用されます。 -Simulated CFD Application Benchmarks LU Simulated CFD Application (LU) Benchmark :LUベンチマークは、LU分解を実際には行わず、5x5のブロックをもつ上下三角行列システムをSSOR(Symmetric Successive Over-Relaxation)法で解いています。このコードはNASA Ames Research CenterのINS3D-LUに見られるような新しいクラスの陰解法を代表するものです。 SP Simulated CFD Application
(SP) Benchmark :SP(Scalar Pentadiagonal)ベンチマークは、非優位対角なスカラ5重対角方程式を解くものです。
BT Simulated CFD Application (BT) Benchmark :BT(Block Tridiagonal)ベンチマークは、非優位対角な5x5のブロックサイズをもつブロック3重対角方程式を解くものです。
BT Simulated CFD Application
(BT) Benchmark :BT(Block Tridiagonal)ベンチマークは、非優位対角な5x5のブロックサイズをもつブロック3重対角方程式を解くものです。
$ tar -xvzf NPB-2.3.tar.gz すると,NPB2.3というディレクトリが生成されます. (1)設定ファイルの変更 makeする前に,各環境に応じて設定ファイルを変更する必要があります. NPB2.3/config/ に make.def.template というファイルがあるので,これをコピーし make.def とし,CC や F77 のパスを正しく設定します. ※PCクラスタでの設定例(Debian GNU Linux 2.2.12) (2)makemake.def を正しく記述したら,NPB2.3 ディレクトリで次のように make します.NPBでは,さまざまな種類のベンチマークが可能です.また,それぞれについて,実行するプロセス数,問題のクラスを指定することができます.それらはすべて別々の実行ファイルになるため,make の際に対象問題・プロセス数・クラスを指定しなくてはなりません. SクラスのLUベンチマークを2プロセスで実行したい場合には,以下のように make します. $ make LU NPROCS=2 CLASS=S make に成功すると,NPB2.3/bin/ に lu.S.2 という実行ファイルが生成されます.うまく make できない場合には make.def の設定が誤っていないか再確認してみてください. (3)実行 NPBはMPIを利用していますので,実行の際も mpirun で実行しなければなりません.先ほどの lu.s.2 を実行するためには,NPB2.3/bin/ で,次のようにタイプします. $ mpirun -mp2 lu.S.2
※インストールに関するドキュメントは NPB2.3/Doc/README.install
です.うまくインストールできない場合にはこれを参照してください.
(1)対象問題とプロセス数の関係 NPBには上記の8種類の対象問題が定義されていますが,問題の性質により実行可能なプロセス数に制限があります. ct, ft, mg, lu, is のプロセス数は2の乗数(2^*: 1, 2, 4, 8・・・ ) でなくてはなりません. (2)複数の実行ファイルを一度にmakeする NPBでは,設定ごとに実行ファイルが生成されるため,通常は何度もmakeの作業を繰り返さなければなりません.そこで,一度に複数のファイルをmakeするためのオプションが用意されています. # This is a sample suite file to build several executables sp A 16 sp A 25 sp A 36 ft B 1 ft B 2 ft B 4 このような,suiteファイルを用意して, $ make suite とすると,suite.defで指定した設定の実行ファイルを一度にmakeする事ができます.
参考資料 [1] NAS Parallel BenchmarkのSX-4性能 http://www.hpc.comp.nec.co.jp/perform/npb.html |
|||||||||||||||||||||||
|
文責: 同志社大学工学部知識工学科 知的システムデザイン研究室 吉田 純一(junichi@mikilab.doshisha.ac.jp) |
|||||||||||||||||||||||