Hi,
i just read about pipes introduced with OpenCL 2.0.
I see a lot of use cases for this, like streaming data though several kernels running in parallel.
But i wonder whether there is a chance that this is going to work with good performance in current hardware ... or is it just a software abstraction.
I know that for example packet processing engines/CPUs spend a lot of silicon and extra features for this (e.g. to dequeue FIFO entries to several processing elements and enqueue the results in the correct order again).
Any comments from AMD?
Thanks,
Felix.
I see a lot of use cases for this, like streaming data though several kernels running in parallel.
But i wonder whether there is a chance that this is going to work with good performance in current hardware ... or is it just a software abstraction.
That is for time to tell. This is just a provisional spec from khronos. If vendors find it useful to implement it in hardware, they may consider it. But there is a long way to go for that. Pipes are really interesting to me too, as many networking domain applications may benefit from them.
This use-case may not be for GPUs -- but you never know..
But the more baffling part is that the spec does not list which built-in functions one should use to read and write packets into pipes... 😞
Did you guys find it?
-
Bruhaspati
Found it in OpenCL C specification. Check Properly the spec has been divided into three documents: OpenCL, OpenCL C, and OpenCL extensions.
Maybe it's meant for DSPs, i heard TI wants to support OpenCL ..
TI already has beta OpenCL drivers for some of their DSP server-focused parts.