OpenCL in Action: How to Accelerate Graphics and Computations
- Length: 456 pages
- Edition: 1
- Language: English
- Publisher: Manning Publications
- Publication Date: 2011-11-17
- ISBN-10: 1617290173
- ISBN-13: 9781617290176
- Sales Rank: #923590 (See Top 100 Books)
Summary
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.
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