A CPU/GPU benchmarking project using OpenCL, OpenMP, and C++ with Python automation.
Demonstrates low-level GPU programming, kernel execution, and automation for performance testing.
CI/CD test automation using GitHub actions for both Windows (build only) and Linux (build & execute).
- C++ compiler supporting C++17 (MSVC, GCC, Clang)
- CMake ≥ 3.10
- OpenCL SDK (AMD, NVIDIA, Intel, or generic)
- OpenMP runtime library installed (e.g., libomp-dev on Linux)
- Python 3.x (for automation scripts)
- Windows 11 OR Linux
Open a terminal in the project root. Create and navigate to the build directory:
mkdir build
cd buildcmake ..cmake --build .The executable will be created in build/ as benchmark.exe.
./build/benchmark [device_index] [vector_size]-
device_index(optional, default 0): GPU device to use -
vector_size(optional, default 2^26): Number of elements in the vectors
Example:
./build/benchmark 0 8192Navigate to the automation/ folder. Run the script:
python run_benchmarks.pyResults saved to automation\benchmark_results.csv