Forum Discussion
Altera_Forum
Honored Contributor
8 years agoCan NDRange kernel forward data to other kernels via channels/pipes?
Hi everyone, I'm writing an OpenCL image segmentation code. The algorithm I chose is mostly parallel, meaning that distances between pixels and cluster centers are calculated in parallel. Howev...
Altera_Forum
Honored Contributor
8 years agoAs mentioned in 5.4.3, if certain requirements are met, work-item ordering will be deterministic (i.e. no out-of-order execution); if these conditions are not met, the compiler will warn you about non-deterministic ordering. Furthermore, using channels in NDRange kernels limits number of parallel work-groups per compute unit to one.
Regarding depth of channels, it depends on how fast data is produced and consumed. You are not supposed to make the channel big enough to be able to keep all the data inside of it at once; as long as you make sure data is produced and consumed at a similar rate, you can keep the channel depth small.