Quest for the Smallest OpenCL Program

Umar C/C++, OpenCL 8 Comments

I have heard many complaints about the verbosity of the OpenCL API. This claim in not unwarranted. The verbosity is due to the low level nature of OpenCL. It is written in the C programming language; the lingua franca of programming languages. While this allows you to run an OpenCL program on virtually any platform, it has some disadvantages. In a typical OpenCL program must: Query for the platform Get the device IDs from the platform Create a context from a set of device IDs Create a command queue from the context Create buffer objects for your data Transfer the data to the buffer Create and build a program from source Extract the kernels Launch the kernels Transfer the data to ...