OpenCL in Action
OpenCL in Action is a thorough, hands-on presentation of OpenCL, with an eye toward showing developers how to build high-performance applications of their own. It begins by presenting the core concepts behind OpenCL, including vector computing, parallel programming, and multi-threaded operations, and then guides you step-by-step from simple data structures to complex functions.
Whatever system you have, it probably has more raw processing power than you’re using. OpenCL is a high-performance programming language that maximizes computational power by executing on CPUs, graphics processors, and other number-crunching devices. It’s perfect for speed-sensitive tasks like vector computing, matrix operations, and graphics acceleration.
OpenCL in Action blends the theory of parallel computing with the practical reality of building high-performance applications using OpenCL. It first guides you through the fundamental data structures in an intuitive manner. Then, it explains techniques for high-speed sorting, image processing, matrix operations, and fast Fourier transform. The book concludes with a deep look at the all-important subject of graphics acceleration. Numerous challenging examples give you different ways to experiment with working code.
A background in C or C++ is helpful, but no prior exposure to OpenCL is needed.
What’s Inside
- Learn OpenCL step by step
- Tons of annotated code
- Tested algorithms for maximum performance
Table of Contents
Part 1: Foundations of OpenCL programming
Chapter 1. Introducing OpenCL
Chapter 2. Host programming: fundamental data structures
Chapter 3. Host programming: data transfer and partitioning
Chapter 4. Kernel programming: data types and device memory
Chapter 5. Kernel programming: operators and functions
Chapter 6. Image processing
Chapter 7. Events, profiling, and synchronization
Chapter 8. Development with C++
Chapter 9. Development with Java and Python
Chapter 10. General coding principles
Part 2: Coding practical algorithms in OpenCL
Chapter 11. Reduction and sorting
Chapter 12. Matrices and QR decomposition
Chapter 13. Sparse matrices
Chapter 14. Signal processing and the fast Fourier transform
Part 3: Accelerating OpenGL with OpenCL
Chapter 15. Combining OpenCL and OpenGL
Chapter 16. Textures and renderbuffers
Appendix A. Installing and using a software development kit
Appendix B. Real-time rendering with OpenGL
Appendix C. The minimalist GNU for Windows and OpenCL
Appendix D. OpenCL on mobile devices
Book Details
- Paperback: 456 pages
- Publisher: Manning Publications (November 2011)
- Language: English
- ISBN-10: 1617290173
- ISBN-13: 978-1617290176