Pipes Extension
Using global memory to communicate data between your kernels can constrain the performance of your design.
pipes provide a mechanism for passing data between kernels and synchronizing kernels with high efficiency and low latency.
pipes allow kernels to use on-device FIFO buffers to communicate directly with each other. The memory model of pipes allows them to be used for inter-kernel communication without waiting for kernel completion or involvement of the host processor, as shown in the following figure:
DPC++
DPC++
Using SYCL* Pipes to Decouple Data Movement between Concurrently Executing Kernels
