Copyright
Brief Table of Contents
Table of Contents
Preface
Acknowledgments
About this Book
1. Foundations of OpenCL programming
Chapter 1. Introducing OpenCL
1.1. The dawn of OpenCL
1.2. Why OpenCL?
1.2.1. Portability
1.2.2. Standardized vector processing
1.2.3. Parallel programming
1.3. Analogy: OpenCL processing and a game of cards
1.4. A first look at an OpenCL application
1.5. The OpenCL standard and extensions
1.6. Frameworks and software development kits (SDKs)
1.7. Summary
Chapter 2. Host programming: fundamental data structures
2.1. Primitive data types
2.2. Accessing platforms
2.2.1. Creating platform structures
2.2.2. Obtaining platform information
2.2.3. Code example: testing platform extensions
2.3. Accessing installed devices
2.3.1. Creating device structures
2.3.2. Obtaining device information
2.3.3. Code example: testing device extensions
2.4. Managing devices with contexts
2.4.1. Creating contexts
2.4.2. Obtaining context information
2.4.3. Contexts and the reference count
2.4.4. Code example: checking a context���s reference count
2.5. Storing device code in programs
2.5.1. Creating programs
2.5.2. Building programs
2.5.3. Obtaining program information
2.5.4. Code example: building a program from multiple source files
2.6. Packaging functions in kernels
2.6.1. Creating kernels
2.6.2. Obtaining kernel information
2.6.3. Code example: obtaining kernel information
2.7. Collecting kernels in a command queue
2.7.1. Creating command queues
2.7.2. Enqueuing kernel execution commands