Visible to Intel only — GUID: GUID-9E741CFD-8D7E-4857-8F3C-8BDCB833CCBB
Channels/Pipes APIs
Channels/pipes allow passing data between kernels and synchronizing kernels with high efficiency and low latency. They allow kernels to communicate directly with each other using on-chip FIFO buffers implemented using FPGA memory resources. The compiler supports concurrent kernel execution with out-of-order queues that allows launching kernels concurrently with a single command queue. Using channels/pipes for data movement between concurrently executing kernels allows for data transfer without waiting for kernel completion, which can significantly increase the throughput of your design. Refer to Pipes and Pipes Extension topics in the Intel oneAPI DPC++/C++ Compiler Handbook for Intel FPGAs for additional information.
The following table depicts how to implement channels/pipes in OpenCL and SYCL:
OpenCL | SYCL |
---|---|
|
|
I/O Pipes
OpenCL | SYCL |
---|---|
|
|