gocl-decls

gocl-decls — Global symbols used throughout Gocl API

Stability Level

Unstable, unless otherwise indicated

Synopsis

enum                GoclBufferFlags;
enum                GoclDeviceType;
enum                GoclQueueFlags;

Description

Declarations common to Gocl classes. These symbols often map OpenCL symbols directly.

Details

enum GoclBufferFlags

typedef enum {
  GOCL_BUFFER_FLAGS_READ_WRITE     = CL_MEM_READ_WRITE,
  GOCL_BUFFER_FLAGS_WRITE_ONLY     = CL_MEM_WRITE_ONLY,
  GOCL_BUFFER_FLAGS_USE_HOST_PTR   = CL_MEM_USE_HOST_PTR,
  GOCL_BUFFER_FLAGS_ALLOC_HOST_PTR = CL_MEM_ALLOC_HOST_PTR,
  GOCL_BUFFER_FLAGS_COPY_HOST_PTR  = CL_MEM_COPY_HOST_PTR
} GoclBufferFlags;

GOCL_BUFFER_FLAGS_READ_WRITE

The buffer can be read and written by a kernel. This is the default.

GOCL_BUFFER_FLAGS_WRITE_ONLY

The buffer can be written but not read by a kernel. Reading from the buffer inside a kernel is undefined.

GOCL_BUFFER_FLAGS_USE_HOST_PTR

The buffer is initialized with the data referenced by the provided host memory pointer.

GOCL_BUFFER_FLAGS_ALLOC_HOST_PTR

The buffer is allocated from host accessible memory.

GOCL_BUFFER_FLAGS_COPY_HOST_PTR

The buffer is allocated from host accessible memory, and initialized with the data referenced by the provided host memory pointer.

enum GoclDeviceType

typedef enum {
  GOCL_DEVICE_TYPE_DEFAULT     = CL_DEVICE_TYPE_DEFAULT,
  GOCL_DEVICE_TYPE_CPU         = CL_DEVICE_TYPE_CPU,
  GOCL_DEVICE_TYPE_GPU         = CL_DEVICE_TYPE_GPU,
  GOCL_DEVICE_TYPE_ACCELERATOR = CL_DEVICE_TYPE_ACCELERATOR,
  GOCL_DEVICE_TYPE_ALL         = CL_DEVICE_TYPE_ALL
} GoclDeviceType;

GOCL_DEVICE_TYPE_DEFAULT

Default device

GOCL_DEVICE_TYPE_CPU

CPU device

GOCL_DEVICE_TYPE_GPU

GPU device

GOCL_DEVICE_TYPE_ACCELERATOR

Accelerator device

GOCL_DEVICE_TYPE_ALL

Any device

enum GoclQueueFlags

typedef enum {
  GOCL_QUEUE_FLAGS_OUT_OF_ORDER = CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE,
  GOCL_QUEUE_FLAGS_PROFILING    = CL_QUEUE_PROFILING_ENABLE
} GoclQueueFlags;

GOCL_QUEUE_FLAGS_OUT_OF_ORDER

Enables out-of-order execution of commands.

GOCL_QUEUE_FLAGS_PROFILING

Enables profiling of commands.