Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
10 years ago

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 .

Thanks

6 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Yes. Channels allow you to transfer data from one kernel to another with opencl 1.0+

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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.