OpenCL in Action

By Matthew Scarpino

OpenCL in Action - Matthew Scarpino
  • Release Date: 2011-11-13
  • Genre: Programming

Description

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.

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.
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
• 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