I would like to use pipe to store the data produced from kernel 1 and use it in kernel 2.
The NDRange setting in kernel 1 is WorkSize[3] = {56, 56, 96} WorkGroupSize[3] = {14, 14, 1} kernel 1 will produce 56*56*96 data and be used in kernel 2 Each work group in kernel 1 produce 14*14*1 data. can it realized in opencl pipe? Thanks, MattLink Copied
It certainly can. You should just pay extra attention to ordering of work-items and how data is written to and read from the channel. This is described in Section 1.6.4.3 of the Intel FPGA SDK for OpenCL Programming Guide.
For more complete information about compiler optimizations, see our Optimization Notice.