- Compute unit- an OpenCL device has one or more compute units. A work-group executes on a single compute unit. A compute unit is composed of one or more processing elements and local memory. A compute unit can also include dedicated texture sampling units that can be accessed by its processing elements.
- Device- a collection of compute units.
- Command-queueis an object that holds commands to be executed on a specific device. Examples of commands include executing kernels, or reading and writing memory objects.
- Kernel- a function declared in an OpenCL program and executed on an OpenCL device. A kernel is identified by the__kernelorkernelqualifier applied to any function defined in a program.
- Work-item- one of a collection of parallel executions of a kernel invoked on a device by a command. A work-item is executed by one or more processing elements as part of a work-group executing on a compute unit. A work-item is distinguished from other executed work-items within the collection by its global ID and local ID.
- Work-group- a collection of related work-items that execute on a single compute unit. The work-items in the group execute the same kernel and share local memory and work-group barriers. Each work-group has the following properties:
- Data sharing between work-items via local memory
- Synchronization between work-items via barriers and memory fences
- Special work-group level built-in functions, such aswork_group_copy.