中文 | English
PolyBenchMT is a modified version of PolyBench benchmarks, specifically adapted for the MT-3000 platform using hthreads. This project represents a platform migration of the original PolyBench suite, optimized for parallel execution on MT-3000.
- 2DCONV: 2D Convolution
- 3DCONV: 3D Convolution
- 2MM: 2 Matrix Multiplications
- 3MM: 3 Matrix Multiplications
- ATAX: Matrix Transpose and Vector Multiplication
- BICG: BiCG Sub Kernel of BiCGStab Linear Solver
- DOITGEN: Multiresolution Analysis Kernel
- GEMM: Matrix-Multiply
- GEMVER: Vector Multiplication and Matrix Addition
- GESUMMV: Scalar, Vector and Matrix Multiplication
- GRAMSCHMIDT: Gram-Schmidt Decomposition
- LU: LU Decomposition
- MVT: Matrix Vector Product and Transpose
- SYR2K: Symmetric Rank-2K Update
- SYRK: Symmetric Rank-K Update
- CORRELATION: Correlation Computation
- COVARIANCE: Covariance Computation
- ADI: Alternating Direction Implicit Solver
- FDTD-2D: 2D Finite Different Time Domain Kernel
- JACOBI-1D: 1D Jacobi Stencil Computation
- JACOBI-2D: 2D Jacobi Stencil Computation
.
├── bin/
│ ├── MINI_DATASET/
│ ├── SMALL_DATASET/
│ ├── STANDARD_DATASET/
│ ├── LARGE_DATASET/
│ └── EXTRALARGE_DATASET/
└── results/
└── YYYY-MM-DD-HH-MM/
├── all_results/
└── <dataset>_result.csv
To compile a single dataset size:
./compile.sh <dataset_size>To compile all dataset sizes:
./compile.sh ALLAvailable dataset sizes:
- MINI_DATASET
- SMALL_DATASET
- STANDARD_DATASET
- LARGE_DATASET
- EXTRALARGE_DATASET
To run benchmarks for a single dataset:
./run.sh <dataset_size>To run all datasets:
./run.sh ALLThe results will be saved in the results/YYYY-MM-DD-HH-MM/ directory, with CSV files containing performance metrics including CPU time, DSP time, and speedup for each operator.
Key parameters that can be modified:
- Default: float
- Can be changed to double by modifying the DATA_TYPE typedef
- Defines the acceptable percentage difference between DSP and CPU results
- Range: 0.0-100.0
- Can be adjusted per operator in the input code file
After modifications, run:
make clean
makeThis project is licensed under the BSD 3-Clause License - see the LICENSE file for details.