File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # Simple GPU Benchmarking Project
2+
3+ A GPU benchmarking project using ** OpenCL** and ** C++** with ** Python** automation.
4+ Demonstrates low-level GPU programming, kernel execution, and automation for performance testing.
5+
6+ ## Requirements
7+
8+ - ** C++ compiler** supporting C++17 (MSVC, GCC, Clang)
9+ - ** CMake** ≥ 3.10
10+ - ** OpenCL SDK** (AMD, NVIDIA, Intel, or generic)
11+ - ** Python** 3.x (for automation scripts)
12+ - ** Windows** 11
13+
14+ ## Building and Running
15+
16+ ### 1. Build the C++ Benchmark
17+
18+ Open a terminal in the project root. Create and navigate to the build directory:
19+
20+ ``` bash
21+ mkdir build
22+ cd build
23+ ```
24+ ### 2. Configure the project with CMake:
25+
26+ ``` bash
27+ cmake ..
28+ ```
29+ ### 3. Build the executable:
30+ ``` bash
31+ cmake --build .
32+ ```
33+
34+ The executable will be created in ` build/ ` as ` benchmark.exe ` .
35+
36+ ### 4. Running
37+ #### From Terminal:
38+ ``` bash
39+ ./build/benchmark [device_index] [vector_size]
40+ ```
41+
42+
43+ - ` device_index ` (optional, default 0): GPU device to use
44+
45+ - ` vector_size ` (optional, default 2^26): Number of elements in the vectors
46+
47+ Example:
48+
49+ ``` bash
50+ ./build/benchmark 0 8192
51+ ```
52+
53+ #### From Python Automation Script:
54+
55+ Navigate to the automation/ folder. Run the script:
56+
57+ ``` bash
58+ python run_benchmarks.py
59+ ```
60+
61+ Results saved to ` automation\benchmark_results.csv `
You can’t perform that action at this time.
0 commit comments