OpenCL concepts summary
Summary of the concepts used in OpenCL.
- OpenCL primarily uses data parallel processing.
- Computations in OpenCL are performed by pieces of code called kernels that execute on compute devices. Compute devices can be application processors or GPUs.
- The data processed by OpenCL is in an index space of work-items. The work-items are organized in an NDRange.
- One kernel instance is executed for each work-item in the index space.
- Kernel instances can execute in parallel.
- You group work-items together to form work-groups. The work-items in a work-group can communicate with each other using shared data buffers, but access to the buffers must be synchronized with barrier operations.
- Work-groups typically do not directly share data with each other. They can share data using global memory and atomic operations.
- You can issue multiple work-groups for execution in parallel.