NPB benchmark(NAS Parallel Benchmarks)使用、安裝和配置

1 NPB介紹

NAS並行基準測試(NPB)是一套針對高並行超級計算機性能評估的基準測試。它們由NASA高級超級計算(NAS)部門(前身是NASA數值空氣動力學模擬程序)開發和維護,該部門位於NASA艾姆斯研究中心。基準來自計算流體動力學(CFD)應用程序,由原始“鉛筆和紙”規範(NPB 1)中的五個內核和三個僞應用程序組成。該基準套件已擴展爲包括針對非結構化自適應網格,並行I / O,多區域應用程序和計算網格的新基準。NPB中的問題大小是預定義的,並表示爲不同的類別。NPB的參考實現在MPI和OpenMP(NPB 2和NPB 3)等常用編程模型中可用。

1.1 基準測試規範

npb1中規定的最初八個基準模擬CFD應用中的計算和數據移動:

  • 五個內核
    • IS -整數排序,隨機內存訪問
    • EP -令人尷尬的並行任務
    • CG -共軛梯度,不規則的記憶存取和通信
    • MG -多重網格對序列網格,長、短距離通信,內存密集型
    • FT -離散三維快速傅里葉變換,全對全通信
  • 三個僞應用程序
    • BT -三對角求解器
    • SP -五對角求解器
    • LU -高斯求解器

1.2 問題規模

S級:較小,用於快速測試
W級:工作站大小(90年代的工作站;現在可能太小了)
A,B,C級:標準測試問題; 從一個類到下一個類,大小增加約4倍
D,E,F級:大型測試問題; 與之前的每個類相比,大小增加了約16倍

版本 基準 問題類別 使用的編程模型 主要變化
NPB 3.4 IS,EP,CG,MG,FT,BT,BT-10,SP,LU,UA,DC,DT S,W,A,B,C,D,E,F MPI,OpenMP 添加了F類,動態內存分配
NPB 3.4-MZ BT-MZ,SP-MZ,LU-MZ S,W,A,B,C,D,E,F MPI + OpenMP,OpenMP 動態內存分配
NPB 3.3.1 IS,EP,CG,MG,FT,BT,BT-10,SP,LU,UA,DC,DT S,W,A,B,C,D,E MPI,OpenMP,串行 增加了E類
NPB 3.3.1-MZ BT-MZ,SP-MZ,LU-MZ S,W,A,B,C,D,E,F MPI + OpenMP,OpenMP,串行 嵌套的OpenMP版本
GridNPB 3.1 ED,HC,VP,MB S,W,A,B Globus,Java,串行 添加了Globus版本
NPB 3.0 IS,EP,CG,MG,FT,BT,SP,LU S,W,A,B,C OpenMP,HPF,Java 新的編程範例
NPB 2.4.1 IS,EP,CG,MG,FT,BT,BT-IO,SP,LU S,W,A,B,C,D MPI 添加了BT-IO D類
NPB 2.3 IS,EP,CG,MG,FT,BT,SP,LU S,W,A,B,C MPI,串行 添加了CG,串行版本

2 NPB的安裝和配置

(前提是已經安裝了MPI)

首先去NPB官網(https://www.nas.nasa.gov/publications/npb.html)下載NPB的安裝包。

下載好後,將壓縮包解壓出來。

tar -zxvf NPB3.3.1.tar.gz

cd NPB3.3.1
cd NPB3.3-MPI
cd config
cp make.def.template make.def

然後配置NPB,修改make.def的下列信息,其他信息不用修改

32行:MPIF77 = mpif77
39行:FMPI_LIB = 
78行:MPICC = mpicc
87行:CMPI_LIB = 

3 NPB使用

make <benchmark-name> NPROCS=<number> CLASS=<class>     [SUBTYPE=<type>] [VERSION=VEC]

C類,D類和E類不適用於DT。類別E不適用於IS。“VERSION=VEC”選項用於選擇BT和LU的向量化版本。

以IS爲例,編譯指令爲 make IS(指定哪個程序)CLASS=B(指定問題規模)NPROCS=8(指定運行的處理器個數)  #問題規模爲B,處理器個數爲8

cd NPB3.3.1
cd NPB3.3-MPI
make IS CLASS=B NPROCS=8

編譯完成後會在bin/文件夾下面生成is.B.8可執行文件

使用MPI運行IS.B.8這個文件,記得分配對應的核數,否則會報錯

mpirun -np 8 is.B.8

其他程序可以按照上述方式使用。

 
發佈了36 篇原創文章 · 獲贊 105 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章