Book description
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
Understanding OpenCL’s architecture, concepts, terminology, goals, and rationale
Programming with OpenCL C and the runtime API
Using buffers, sub-buffers, images, samplers, and events
Sharing and synchronizing data with OpenGL and Microsoft’s Direct3D
Simplifying development with the C++ Wrapper API
Using OpenCL Embedded Profiles to support devices ranging from cellphones to supercomputer nodes
Case studies dealing with physics simulation; image and signal processing, such as image histograms, edge detection filters, Fast Fourier Transforms, and optical flow; math libraries, such as matrix multiplication and high-performance sparse matrix multiplication; and more
Source code for this book is available at https://code.google.com/p/opencl-book-samples/
Table of contents
- Title Page
- Copyright Page
- Contents
- Figures
- Tables
- Listings
- Foreword
- Preface
- Acknowledgments
- About the Authors
-
Part I. The OpenCL 1.1 Language and API
- Chapter 1. An Introduction to OpenCL
- Chapter 2. HelloWorld: An OpenCL Example
- Chapter 3. Platforms, Contexts, and Devices
- Chapter 4. Programming with OpenCL C
- Chapter 5. OpenCL C Built-In Functions
- Chapter 6. Programs and Kernels
- Chapter 7. Buffers and Sub-Buffers
- Chapter 8. Images and Samplers
- Chapter 9. Events
- Chapter 10. Interoperability with OpenGL
- Chapter 11. Interoperability with Direct3D
- Chapter 12. C++ Wrapper API
- Chapter 13. OpenCL Embedded Profile
-
Part II. OpenCL 1.1 Case Studies
- Chapter 14. Image Histogram
- Chapter 15. Sobel Edge Detection Filter
- Chapter 16. Parallelizing Dijkstra’s Single-Source Shortest-Path Graph Algorithm
- Chapter 17. Cloth Simulation in the Bullet Physics SDK
- Chapter 18. Simulating the Ocean with Fast Fourier Transform
- Chapter 19. Optical Flow
- Chapter 20. Using OpenCL with PyOpenCL
- Chapter 21. Matrix Multiplication with OpenCL
- Chapter 22. Sparse Matrix-Vector Multiplication
- Appendix A. Summary of OpenCL 1.1
- Index
- Footnotes
Product information
- Title: OpenCL Programming Guide
- Author(s):
- Release date: July 2011
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780132488006
You might also like
book
OpenCL Programming by Example
For a comprehensive, easy-to-swallow guide to OpenCL Programming, this book is out on its own. That’s …
book
OpenCL in Action
OpenCL in Action is a thorough, hands-on presentation of OpenCL, with an eye toward showing developers …
book
Heterogeneous Computing with OpenCL, 2nd Edition
Heterogeneous Computing with OpenCL, Second Edition teaches OpenCL and parallel programming for complex systems that may …
book
OpenGL ES 3.0 Programming Guide, Second Edition
OpenGL® ES™ is the industry's leading software interface and graphics library for rendering sophisticated 3D graphics …