Copyright (c) 2011-2015 the Ohio State University.
PolyBench is a benchmark suite of 30 numerical computations with
static control flow, extracted from operations in various application
domains (linear algebra computations, image processing, physics
simulation, dynamic programming, statistics, etc.). PolyBench features
include:
- A single file, tunable at compile-time, used for the kernel
instrumentation. It performs extra operations such as cache flushing
before the kernel execution, and can set real-time scheduling to
prevent OS interference.
- Non-null data initialization, and live-out data dump.
- Syntactic constructs to prevent any dead code elimination on the kernel.
- Parametric loop bounds in the kernels, for general-purpose implementation.
- Clear kernel marking, using pragma-based delimiters.
PolyBench is currently available in C and in Fortran:
- See PolyBench/C 4.0 for the C version
- See PolyBench/Fortran 1.0 for the Fortran version (based on PolyBench/C 3.2)
Benchmark | Description |
---|---|
2mm | 2 Matrix Multiplications (D=A.B; E=C.D) |
3mm | 3 Matrix Multiplications (E=A.B; F=C.D; G=E.F) |
adi | Alternating Direction Implicit solver |
atax | Matrix Transpose and Vector Multiplication |
bicg | BiCG Sub Kernel of BiCGStab Linear Solver |
cholesky | Cholesky Decomposition |
correlation | Correlation Computation |
covariance | Covariance Computation |
deriche | Edge detection filter |
doitgen | Multi-resolution analysis kernel (MADNESS) |
durbin | Toeplitz system solver |
fdtd-2d | 2-D Finite Different Time Domain Kernel |
gauss-filter | Gaussian Filter |
gemm | Matrix-multiply C=alpha.A.B+beta.C |
gemver | Vector Multiplication and Matrix Addition |
gesummv | Scalar, Vector and Matrix Multiplication |
gramschmidt | Gram-Schmidt decomposition |
head-3d | Heat equation over 3D data domain |
jacobi-1D | 1-D Jacobi stencil computation |
jacobi-2D | 2-D Jacobi stencil computation |
lu | LU decomposition |
ludcmp | LU decomposition |
mvt | Matrix Vector Product and Transpose |
nussinov | Dynamic programming algorithm for sequence alignment |
seidel | 2-D Seidel stencil computation |
symm | Symmetric matrix-multiply |
syr2k | Symmetric rank-2k operations |
syrk | Symmetric rank-k operations |
trisolv | Triangular solver |
trmm | Triangular matrix-multiply |