OpenCL Programming Book
Overview
The book starts with the basics of parallelization, covers the main concepts, grammar, and setting up a development environment for OpenCL, concluding with source-code walkthroughs of the FFT and Mersenne Twister algorithms written in OpenCL.
The revised edition includes a summary of changes made in OpenCL Specification 1.2, reference functions corresponding to 1.2, and updated excursion environments.
It is highly recommended for those wishing to get started on programming in OpenCL.
Download
PDF version Revised for OpenCL 1.2
![]() Read Sample |
HTML version
HTML version of The OpenCL Programming Book (1.0) is available for FREE.
» Read HTML version
Foreword
OpenCL is an exciting new open standard that is bringing the power of programming complex multi-processor systems to a much wider audience than ever before.
Neil Trevett
Khronos is fully committed not only to creating the specification but also fostering a rich and diverse OpenCL ecosystem. A vital piece of any living standard is enabling the industry to understand it truly, letting it tap into the full potential power of the technology.
Fixstars is a skilled OpenCL practitioner and is ideally qualified to create state-of-the-art OpenCL educational materials. I recommend wholeheartedly this book to anyone seeking to understand and start using the amazing power of OpenCL.
President, The Khronos Group
Sample Code for OpenCL Programming Book 1.2
The sample code contained in the book can be downloaded here:
» Download (zip:2.16MB)
Limitation for executing the sample code
The sample code was tested on following environments:
- NVIDIA CUDA 4.1 + NVIDIA C2050
- AMD APP SDK 2.6 + AMD FirePro v7900
- Intel OpenCL SDK 1.5 + Intel Core i7 2600
OS:
- Linux: Ubuntu 11.04 x86_64
- Mac: Mac OS X Lion 10.7
- Windows: Windows 7 Pro 64bit (Tested only on AMD's OpenCL)
If you use NVIDIA GPU on Windows, please turn off TDR which enables graphics timeout. For more information, visit:
» http://www.microsoft.com/whdc/device/display/wddm_timeout.mspx
Limitation specific to sample code 6-2/4
Due to the hardware resources used within the kernel, the NVIDIA GPU must contain more than 16 CUDA Cores.
Sample Code for OpenCL Programming Book 1.0
The sample code contained in the book can be downloaded here:
» Download (zip:825KB)
Limitation for executing the sample code
The sample code will not run on the OpenCL that comes with CUDA SDK3.0 β. Please download the OpenCL from the link below.
» http://developer.nvidia.com/object/get-opencl.html
Also, when using a NVIDIA GPU on Windows, the TDR (a graphics time-out function) must be turned off. For details, please visit the link below.
» http://www.microsoft.com/whdc/device/display/wddm_timeout.mspx
Limitation specific to sample code 6-2/4
Due to the hardware resources used within the kernel, the NVIDIA GPU must contain more than 16 CUDA Cores.
