This project is an automated regression testing framework designed to simulate High-Performance Computing (HPC) workflows. It uses ReFrame to orchestrate the compilation and execution of C++ scientific kernels (Matrix Multiplication) in a staged environment, ensuring reproducibility and performance verification.
The suite follows a standard HPC "Build-Run-Analyze" lifecycle:
- Stage: Isolates source code in a temporary sandbox.
- Build: Compiles C++ kernels using
g++with optimization flags. - Run: Executes the binary and captures standard output.
- Verify: regex-based sanity checks ensure numerical correctness.
- Analyze: A Python aggregator parses logs and ingests GFlops metrics into a SQL backend.
- Framework: ReFrame 4.x
- Languages: Python, C++, SQL, Bash
- Database: SQLite (Prototyping), extensible to InfluxDB
- System: Linux (WSL/Ubuntu)
pip install reframe-hpc
reframe -c matrix_test.py -r --report-file report.json
python3 aggregator.py report.json
sqlite3 hpc_metrics.db "SELECT * FROM benchmark_runs;"
Sample Output
[SUCCESS] Ingesting: MatrixBenchmark -> GFlops = 0.37 GFlops