text.skipToContent text.skipToNavigation
  1. Home
  2. Computer Science & IT
  3. OpenCL Programming Guide

OpenCL Programming Guide, 1st edition

  • Aaftab Munshi
  • Benedict Gaster
  • Timothy G. Mattson
  • James Fung
  • Dan Ginsburg

Published by Addison-Wesley Professional (July 13th 2011) - Copyright © 2012

1st edition

Chosen format
View all
OpenCL Programming Guide

ISBN-13: 9780132848893

Includes: Instant Access

This product is not available in your country

What's included

  • Instant Access

    You'll get instant access to the digital content.

Overview

Table of contents

Figures xv

Tables xxi

Listings xxv

Foreword xxix

Preface xxxiii

Acknowledgments xli

About the Authors xliii

 

Part I: The OpenCL 1.1 Language and API 1

 

Chapter 1: An Introduction to OpenCL 3

What Is OpenCL, or . . . Why You Need This Book 3

Our Many-Core Future: Heterogeneous Platforms 4

Software in a Many-Core World 7

Conceptual Foundations of OpenCL 11

OpenCL and Graphics 29

The Contents of OpenCL 30

The Embedded Profile 35

Learning OpenCL 36

 

Chapter 2: HelloWorld: An OpenCL Example 39

Building the Examples 40

HelloWorld Example 45

Checking for Errors in OpenCL 57

 

Chapter 3: Platforms, Contexts, and Devices 63

OpenCL Platforms 63

OpenCL Devices 68

OpenCL Contexts 83

 

Chapter 4: Programming with OpenCL C 97

Writing a Data-Parallel Kernel Using OpenCL C 97

Scalar Data Types 99

Vector Data Types 102

Other Data Types 108

Derived Types 109

Implicit Type Conversions 110

Explicit Casts 116

Explicit Conversions 117

Reinterpreting Data as Another Type 121

Vector Operators 123

Qualifiers 133

Keywords 141

Preprocessor Directives and Macros 141

Restrictions 146

 

Chapter 5: OpenCL C Built-In Functions 149

Work-Item Functions 150

Math Functions 153

Integer Functions 168

Common Functions 172

Geometric Functions 175

Relational Functions 175

Vector Data Load and Store Functions 181

Synchronization Functions 190

Async Copy and Prefetch Functions 191

Atomic Functions 195

Miscellaneous Vector Functions 199

Image Read and Write Functions 201

 

Chapter 6: Programs and Kernels 217

Program and Kernel Object Overview 217

Program Objects 218

Kernel Objects 237

 

Chapter 7: Buffers and Sub-Buffers 247

Memory Objects, Buffers, and Sub-Buffers Overview 247

Creating Buffers and Sub-Buffers 249

Querying Buffers and Sub-Buffers 257

Reading, Writing, and Copying Buffers and Sub-Buffers 259

Mapping Buffers and Sub-Buffers 276

For teachers

All the material you need to teach your courses.

Discover teaching material