Aaftab Munshi, Benedict R. Gaster, Timothy G. Mattson, James Fung, Dan Ginsburg

#OpenCL
#Apple
#AMD
#Intel
#IBM
#NVIDIA
#CPU
#GPU
#Direct3D
#SDK
Using the new OpenCL (Open Computing Language) standard, you can write applications that access all available programming resources: CPUs, GPUs, and other processors such as DSPs and the Cell/B.E. processor. Already implemented by Apple, AMD, Intel, IBM, NVIDIA, and other leaders, OpenCL has outstanding potential for PCs, servers, handheld/embedded devices, high performance computing, and even cloud systems. This is the first comprehensive, authoritative, and practical guide to OpenCL 1.1 specifically for working developers and software architects.
Written by five leading OpenCL authorities, OpenCL Programming Guide covers the entire specification. It reviews key use cases, shows how OpenCL can express a wide range of parallel algorithms, and offers complete reference material on both the API and OpenCL C programming language.
Through complete case studies and downloadable code examples, the authors show how to write complex parallel programs that decompose workloads across many different devices. They also present all the essentials of OpenCL software performance optimization, including probing and adapting to hardware. Coverage includes
“Welcome to the new world of heterogeneous parallel programming with this authoritative and accessible guide to the complete OpenCL Programming Model.”
–Professor Pat Hanrahan, Stanford University
Contents
Part I: The OpenCL 1.1 Language and API
1. An Introduct ion to OpenCL
2. HelloWorld: An OpenCL Example
3. Platforms, Contexts, and Devices
4. Programming with OpenCL C
5. OpenCL C Built- In Funct ions
6. Programs and Kernels
7. Buffers and Sub -Buffers
8. Images and Samplers
9. Events
10. Interoperability with OpenGL
11. Interoperability with Direct3D
12. C++ Wrapper API
13. OpenCL Embedded Profile
Part II: OpenCL 1.1 Case Studies
14. Image Histogram
15. Sobel Edge Detect ion Filter
16. Parallelizing Dijkstra's Single-Source Shortest-Path Graph Algorithm
17. Cloth Simulation in the Bullet Physics SDK
18. Simulating the Ocean with Fast Fourier Transform
19. Optical Flow
20. Using OpenCL with PyOpenCL
21. Matrix Multiplication with OpenCL
22. Sparse Matrix-Vector Multiplication









