Table 2.1 OpenCL Error Codes 58
Table 3.1 OpenCL Platform Queries 65
Table 3.3 OpenCL Device Queries 71
Table 3.4 Properties Supported by clCreateContext
85
Table 3.5 Context Information Queries 87
Table 4.1 Built-In Scalar Data Types 100
Table 4.2 Built-In Vector Data Types 103
Table 4.3 Application Data Types 103
Table 4.4 Accessing Vector Components 106
Table 4.5 Numeric Indices for Built-In Vector Data Types 107
Table 4.6 Other Built-In Data Types 108
Table 4.7 Rounding Modes for Conversions 119
Table 4.8 Operators That Can Be Used with Vector Data Types 123
Table 4.9 Optional Extension Behavior Description 144
Table 5.1 Built-In Work-Item Functions 151
Table 5.2 Built-In Math Functions 154
Table 5.3 Built-In half_
and native_
Math Functions 160
Table 5.4 Single- and Double-Precision Floating-Point Constants 162
Table 5.5 ulp
Values for Basic Operations and Built-In Math Functions 164
Table 5.6 Built-In Integer Functions 169
Table 5.7 Built-In Common Functions 173
Table 5.8 Built-In Geometric Functions 176
Table 5.9 Built-In Relational Functions 178
Table 5.10 Additional Built-In Relational Functions 180
Table 5.11 Built-In Vector Data Load and Store Functions 181
Table 5.12 Built-In Synchronization Functions 190
Table 5.13 Built-In Async Copy and Prefetch Functions 192
Table 5.14 Built-In Atomic Functions 195
Table 5.15 Built-In Miscellaneous Vector Functions 200
Table 5.16 Built-In Image 2D Read Functions 202
Table 5.17 Built-In Image 3D Read Functions 204
Table 5.18 Image Channel Order and Values for Missing Components 206
Table 5.19 Sampler Addressing Mode 207
Table 5.20 Image Channel Order and Corresponding Bolor Color Value 209
Table 5.21 Built-In Image 2D Write Functions 211
Table 5.22 Built-In Image 3D Write Functions 212
Table 5.23 Built-In Image Query Functions 214
Table 6.1 Preprocessor Build Options 223
Table 6.2 Floating-Point Options (Math Intrinsics) 224
Table 6.3 Optimization Options 225
Table 6.4 Miscellaneous Options 226
Table 7.1 Supported Values for cl_mem
_flags
249
Table 7.2 Supported Names and Values for clCreateSubBuffer
254
Table 7.3 OpenCL Buffer and Sub-Buffer Queries 257
Table 7.4 Supported Values for cl_map_flags
277
Table 8.1 Image Channel Order 287
Table 8.2 Image Channel Data Type 289
Table 8.3 Mandatory Supported Image Formats 290
Table 9.1 Queries on Events Supported in clGetEventInfo()
319
Table 9.2 Profiling Information and Return Types 329
Table 10.1 OpenGL Texture Format Mappings to OpenCL Image Formats 346
Table 10.2 Supported param_name
Types and Information Returned 348
Table 11.1 Direct3D Texture Format Mappings to OpenCL Image Formats 360
Table 12.1 Preprocessor Error Macros and Their Defaults 372
Table 13.1 Required Image Formats for Embedded Profile 387
Table 13.2 Accuracy of Math Functions for Embedded Profile versus Full Profile 388
Table 13.3 Device Properties: Minimum Maximum Values for Full Profile versus Embedded Profile 389
Table 16.1 Comparison of Data at Vertex Degree 5 418
Table 16.2 Comparison of Data at Vertex Degree 10 420
Table 16.3 Comparison of Dual GPU, Dual GPU + Multicore CPU, Multicore CPU, and CPU at Vertex Degree 10 422
Table 18.1 Kernel Elapsed Times for Varying Work-Group Sizes 458
Table 18.2 Load and Store Bank Calculations 465
Table 19.1 GPU Optical Flow Performance 485
Table 21.1 Matrix Multiplication (Order-1000 Matrices) Results Reported as MFLOPS and as Speedup Relative to the Unoptimized Sequential C Program (i.e., the Speedups Are “Unfair”) 512
Table 22.1 Hardware Device Information 525
Table 22.2 Sparse Matrix Description 526
Table 22.3 Optimal Performance Histogram for Various Matrix Sizes 529