Forum Discussion
Pipe API
Hi
I am using the altera opencl . I downloaded the BSP (14.0 / 14.1) from the website. But I can't use the pipe api ( error: ‘clCreatePipe’ was not declared in this scope ) I can't find any related words in common directory . Thanks6 Replies
- Altera_Forum
Honored Contributor
Pipes are only supported in OpenCL 2.0. You can use the altera specific channels to transfer data from one kernel to another
- Altera_Forum
Honored Contributor
The pipe description in programming guide / best practices guide is only for OpenCL 2.0 ( in the future )and Altera does not support this feature now?
In other words , we could only use channel to replace the pipe , right ? Thanks ~~ - Altera_Forum
Honored Contributor
Yes. Channels allow you to transfer data from one kernel to another with opencl 1.0+
- Altera_Forum
Honored Contributor
I do think it's supposed to work. In the programming guide (https://www.altera.com/en_us/pdfs/literature/hb/opencl-sdk/aocl_programming_guide.pdf) on page 1-60, it is question of an AOCL-specific pipe object. There is no mention about it being for future releases.
- Altera_Forum
Honored Contributor
You are correct. I was able to compile, but in terms of functional correctness I'm not sure. It does mention that the Pipes is specified under OpenCL 2.0, so if you're using aoc with an earlier version of OpenCL, I would have thought that it wouldn't compile.
- Altera_Forum
Honored Contributor
The doc says that pipes are part of the OpenCL 2.0 standard. The Altera SDK does support them, but due to some other functionality from 1.1 and onward missing, it is only fully compliant to 1.0. It says that pipes (providing channel-like functionality) should be used if you need your kernels to compile under other SDKs such as the AMD one.