Description

The following table describes the list of additional data types supported by OpenCL.

Table 1. Other Built-in Data Types

Type

Description

image2d_t

A 2D image6.

image3d_t

A 3D image6.

image2d_array_t

A 2D image array6.

image1d_t

A 1D image6.

image1d_buffer_t

A 1D image created from a buffer object6.

image1d_array_t

A 1D image array6.

image2d_depth_t

A 2D depth image6.

image2d_array_depth_t

A 2D depth image array6.

sampler_t

A sampler type6.

queue_t

A device command queue. This queue can only be used to enqueue commands from kernels executing on the device.

ndrange_t

The N-dimensional range over which a kernel executes.

clk_event_t

A device side event that identifies a command enqueue to a device command queue.

reserve_id_t

A reservation ID. This opaque type is used to identify the reservation for reading and writing a pipe.

event_t

An event. This can be used to identify async copies from global to local memory and vice-versa.

cl_mem_fence_flags

This is a bitfield and can be 0 or a combination of the following values ORed together:

CLK_GLOBAL_MEM_FENCE
CLK_LOCAL_MEM_FENCE
CLK_IMAGE_MEM_FENCE

These flags are described in detail in the synchronization functions section.

[6] Refer to the detailed description of the built-in functions that use this type.

The image2d_t, image3d_t, image2d_array_t, image1d_t, image1d_buffer_t, image1d_array_t, image2d_depth_t, image2d_array_depth_t and sampler_t types are only defined if the device supports images, i.e. the value of the CL_DEVICE_IMAGE_SUPPORT device query) is CL_TRUE.

The C99 derived types (arrays, structs, unions, functions, and pointers), constructed from the built-in scalar, vector, and other data types are supported, with specified restrictions.

The following tables describe the other built-in data types in OpenCL described in https://www.khronos.org/registry/OpenCL/specs/2.2/html/OpenCL_C.html#table-other-builtin-types and the corresponding data type available to the application:

Type in OpenCL C

API type for application

queue_t

cl_command_queue

clk_event_t

cl_event

See Also

Document Notes

For more information, see the OpenCL C Specification

This page is extracted from the OpenCL C Specification. Fixes and changes should be made to the Specification, not directly.

Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.