OpenCL in Action: How to accelerate graphics and computation (Paperback)
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.
About the Technology
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.
About this Book
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.
Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
- Learn OpenCL step by step
- Tons of annotated code
- Tested algorithms for maximum performance
Table of Contents
- PART 1 FOUNDATIONS OF OPENCL PROGRAMMING
- Introducing OpenCL
- Host programming: fundamental data structures
- Host programming: data transfer and partitioning
- Kernel programming: data types and device memory
- Kernel programming: operators and functions
- Image processing
- Events, profiling, and synchronization
- Development with C++
- Development with Java and Python
- General coding principles PART 2 CODING PRACTICAL ALGORITHMS IN OPENCL
- Reduction and sorting
- Matrices and QR decomposition
- Sparse matrices
- Signal processing and the fast Fourier transform PART 3 ACCELERATING OPENGL WITH OPENCL
- Combining OpenCL and OpenGL
- Textures and renderbuffers
About the Author
Matthew Scarpino is a software consultant with over twelve years of experience in engineering and software development, and has developed high-performance applications using digital signal processors, field programmable gate arrays, and the Cell Broadband Engine. He's the author of Programming the Cell Processor: For Games, Graphics, and Numerical Computation.