測試套件擴展¶
摘要¶
這些是關於可以添加到 LLVM 測試套件中的額外程式、基準測試、應用程式和演算法的想法。測試套件可以比現在更大規模,這將有助於我們在開發過程中檢測編譯器錯誤(崩潰、誤編譯)。
最有可能的是,以下程式尚未添加到測試套件的原因是沒有人找到時間去做。但也可能還有其他問題,例如
- 授權 (仍然可以作為外部模組添加支援,
如同 SPEC 基準測試)
- 語言 (特別是,目前還沒有官方的 LLVM 前端
用於 FORTRAN)
- 平行處理 (目前,測試套件中的所有程式都使用
僅一個執行緒)
基準測試¶
SPEC CPU 2017¶
以下項目尚未包含在內,因為它們包含 Fortran 程式碼。
在 cactuBSSN 的情況下,只有一小部分是 Fortran。主機的 Fortran 編譯器可以用於這些部分。
請注意,CMake 的 Ninja 產生器在 Fortran 方面有困難。請參閱 CMake 文件 以了解詳細資訊。
503.bwaves_r/603.bwaves_s
507.cactuBSSN_r
521.wrf_r/621.wrf_s
527.cam4_r/627.cam4_s
628.pop2_s
548.exchange2_r/648.exchange2_s
549.fotonik3d_r/649.fotonik3d_s
554.roms_r/654.roms_s
SPEC OMP2012¶
350.md
351.bwaves
352.nab
357.bt331
358.botsalgn
359.botsspar
360.ilbdc
362.fma3d
363.swim
367.imagick
370.mgrid331
371.applu331
372.smithwa
376.kdtree
OpenCV¶
OpenMP 4.x SIMD 基準測試¶
PWM 基準測試¶
SLAMBench¶
FireHose¶
C/C++ 標準函式庫的基準測試¶
OpenBenchmarking.org CPU / 處理器套件¶
https://openbenchmarking.org/suite/pts/cpu
這是 Phoronix 測試套件 的子集,本身也是基準測試套件的集合
Parboil 基準測試¶
MachSuite¶
Rodinia¶
http://lava.cs.virginia.edu/Rodinia/download_links.htm
Rodinia 已部分包含在 MultiSource/Benchmarks/Rodinia 中。仍然缺少的基準測試有
streamcluster
particlefilter
nw
nn
myocyte
mummergpu
lud
leukocyte
lavaMD
kmeans
hotspot3D
heartwall
cfd
bfs
b+tree
vecmathlib 測試工具¶
PARSEC¶
Graph500 參考實作¶
NAS 平行基準測試¶
https://www.nas.nasa.gov/publications/npb.html
官方基準測試以 Fortran 編寫,但也有非官方的 C 語言翻譯版本:https://github.com/benchmark-subsetting/NPB3.0-omp-C
DARPA HPCS SSCA#2 C/OpenMP 參考實作¶
http://www.highproductivity.org/SSCABmks.htm
這個網站已不存在,但似乎有一些基準測試的副本 https://github.com/gtcasl/hpc-benchmarks/tree/master/SSCA2v2.2
Kokkos¶
https://github.com/kokkos/kokkos-kernels/tree/master/perf_test https://github.com/kokkos/kokkos/tree/master/benchmarks
PolyMage¶
PolyBench¶
https://sourceforge.net/projects/polybench/
SingleSource/Benchmarks/Polybench 中已呈現修改後的 Polybench 3.2 版本。較新的 4.2.1 版本也已可用。
高效能幾何多重網格¶
https://crd.lbl.gov/departments/computer-science/PAR/research/hpgmg/
RAJA Performance Suite¶
CORAL-2 基準測試¶
https://asc.llnl.gov/coral-2-benchmarks/
其許多程式已整合到 MultiSource/Benchmarks/DOE-ProxyApps-C 和 MultiSource/Benchmarks/DOE-ProxyApps-C++ 中。
Nekbone
QMCPack
LAMMPS
Kripke
Quicksilver
PENNANT
大數據分析套件
深度學習套件
Stream
Stride
ML/DL 微基準測試
Pynamic
ACME
VPIC
Laghos
平行整數排序
Havoq
NWChem¶
TVM¶
HydroBench¶
ParRes¶
應用程式/函式庫¶
GnuPG¶
Blitz++¶
FFmpeg¶
FreePOOMA¶
FTensors¶
rawspeed¶
https://github.com/darktable-org/rawspeed
其測試資料集大小為 756 MB,太大而無法包含在測試套件儲存庫中。
C++ 效能基準測試¶
通用演算法¶
影像處理¶
重新取樣¶
雙線性
雙立方
Lanczos
抖色¶
閾值
隨機
網屏
拜耳
Floyd-Steinberg
Jarvis
Stucki
Burkes
Sierra
Atkinson
基於梯度
特徵檢測¶
Harris
方向梯度直方圖
色彩轉換¶
RGB 轉灰階
HSL 轉 RGB
圖形¶
搜尋演算法¶
廣度優先搜尋
深度優先搜尋
Dijkstra 演算法
A* 演算法
生成樹¶
Kruskal 演算法
Prim 演算法