AMD has made this excellent series of videos that comprise many fundamentals of OpenCL. After reading the setup operations and trying your first OpenCL program yourself, it’s much easier to understand the Overview.
The reviews talk about the OpenCL C99 and the OpenCL API. The important thing to know if you want to use bindings (OpenTK, OpenCL.NET, Cloo, OpenCLTemplate) is that, whatever wrapper you choose, there will be a function to: read system information, read/write variables and execute kernels.
Thanks AMD for this great series.
1. What is OpenCL?
2. Resource Setup
This is interesting if you are using a binding. Since it talks about setup it mentions everything Cloo and OpenCLTemplate do in the background for initialization.
3. Kernel execution
This is very interesting. It talks about kernel execution, which is clEnqueueNDRangeKernel() in the OpenCL API, method Kernel.Execute() in OpenCLTemplate and ComputeCommandQueue.Execute() in Cloo.
4. OpenCL C99
This is probably the main point since whichever method you choose to bind OpenCL, you will need the OpenCL C99. Notice how he mentions how important it is to know the OpenCL Spec. I write that all the time…