測試套件擴展¶
摘要¶
這些是關於可以添加到 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/
Polybench 3.2 的修改版本已經在 SingleSource/Benchmarks/Polybench 中提供。更新的版本 4.2.1 也已推出。
高效能幾何多重網格¶
https://crd.lbl.gov/departments/computer-science/PAR/research/hpgmg/
RAJA 效能套件¶
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
圖¶
搜尋演算法¶
廣度優先搜尋
深度優先搜尋
戴克斯特拉演算法
A 星演算法
生成樹¶
克魯斯克爾演算法
普林演算法