Reproduction of Numbers quoted in OpenCL Programming Guides by AMD and NVIDIA
This repository has been archived on 2019年08月23日 . You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
- C 55.9%
- Python 44.1%
|
Matthias Bach
795b15023e
Regroup strides by offset from 64 bytes when plotting.
Effectivly this plots seperate curves for the following strides, where N is the size of the stride in bytes and i is an integer: * `N = i * 64` * `N = i * 64 + 16` * `N = i * 64 + 32` * `N = i * 64 + 48` |
||
|---|---|---|
| .gitignore | Refactoring | |
| bandwidth.py | Refactoring | |
| kernels.cl | Benchmark differend strides in SOA kernels. | |
| README.md | Script renaming | |
| runner.py | Benchmark differend strides in SOA kernels. | |
| sweepMemSize.py | Script renaming | |
| sweepStride.py | Regroup strides by offset from 64 bytes when plotting. | |
OpenCL Bandwidth Measurements
This is a collection of OpenCL kernels that should be able to reproduce the global memory performance numbers given in the AMD Accelerated Parallel Processing OpenCLTM Programming Guide and NVIDIA's OpenCL Best Practices Guide. Those kernels are wrapped by python script handline all the boilerplate and the actual measurements.
Requirements
Usage
There are multiple scripts to choose from. For each script you will get additional invocation options by invoking it with --help:
bandwidth.py- Compare the bandwidth of multiple kernels for a given memory size.- ```sweepMemSize.py`` - Check the performance of a single kernel over a certain memory size range.