The OpenCL standard allows targeting a large variety of CPU, GPU and accelerator architectures using a single unified programming
interface and language. While the standard guarantees portability of functionality for complying applications and platforms, performance
portability on such a diverse set of hardware is limited. Devices may vary significantly in memory architecture as well as type, number
and complexity of computational units. To characterize and compare the OpenCL performance of existing and future devices we propose a
suite of microbenchmarks, uCLbench.
It provides programs measuring the following data points: