This version of the Intel® IPP Library for OpenCL* supports two implementations of media filters:
Device-side work-group functions. Each work-item in a work-group participates in processing a single block of BLK_X by BLK_Y pixels. Similarly to OpenCL* functions such as async_work_group_copy, call these functions exactly once by each work-item in the work-group to perform the required operation.
Workgroup-level functions operate on buffers of local memory. If a work-item needs to read from local memory a value written by another work-items in the work-group, you need to use the barrier(CLK_LOCAL_MEM_FENCE) function. For more information, see the sample code provided in Examples of Using Intel IPP Library for OpenCL*.
Device-side work-item functions. Each work-item processed a tile of BLK_X by BLK_Y pixels. These functions operate on buffers of private memory. Private memory is not shared between work-items and no synchronization is needed.