Hi,All new on the forum, thanks by advance for your reading and answer. problem : I am currently trying to run the demo code for opencl host pipes on an Arria X (https://www.altera.com/support/support-resources/design-examples/design-software/opencl/host-pipe.ht...) And am getting an error code -30 (CL_INVALID_ARG) at the first call to clSetKernelArg, enqueuing the host pipe.
scenario : Intel FPGA tools are installed into /opt/intelfpga_pro/ 1 - > I run the settings.sh script, output : source /opt/intelFPGA_pro/17.1/settings.sh INTELFPGAOCLSDKROOT is set to /opt/intelFPGA_pro/17.1/hld. Using that. Found a Quartus directory at /opt/intelFPGA_pro/17.1/quartus. Using that. AOCL_BOARD_PACKAGE_ROOT is set to /opt/intelFPGA_pro/17.1/hld/board/xpressgxa10_lp1150_hpc_17.1.0_b240_ultra. Using that. Adding /opt/intelFPGA_pro/17.1/hld/bin to PATH Adding /opt/intelFPGA_pro/17.1/hld/host/linux64/lib to LD_LIBRARY_PATH Adding /opt/intelFPGA_pro/17.1/hld/board/xpressgxa10_lp1150_hpc_17.1.0_b240_ultra/linux64/lib to LD_LIBRARY_PATH 2 -> I compile the host program with make, 3 -> I compile the kernel with aoc -v -board=..._hostch loopback_hostpipe.cl , I run the host : 4 -> I run the host after copying the .aocx file alongside it. ./host Using AOCX: loopback_hostpipe.aocx Reprogramming device  with handle 1 Creating kernel (loopback_hostpipe) failed set arg 0. Error code: -30 additionnal informations : When reproducing the scenario after commenting the lines where host pipes are set args for the kernel, the two others arguments are properly set and the host will fail running because of the lack of kernel args, so I suppose the error comes from the host pipes. Thanks again for reading, and for your help ! Felix
Host pipes require support in the BSP. As far as I know, only Altera's reference BSP supports host pipes right now. Unless the BSP for your board supports host pipes, you are not going to be able to use it.
Check the "board_spec.xml" file in your BSP for a set of lines like the following:
<channels> <interface name="board" port="host_to_dev" type="streamsource" width="256" chan_id="host_to_dev"/> <interface name="board" port="dev_to_host" type="streamsink" width="256" chan_id="dev_to_host"/> </channels>If these lines do not exist, your BSP does not support host channels (which is the most likely case).
I checked the BSP, there is the two lines you mentionned into "board_spec.xml" file.Do you have an idea where the -30 error can come from in the host pipe example from Intel-Altera, except a wrong BSP ?
Is the text exactly the same? Channels for communication through network ports also have a similar section in the BSP.Other than that, the example should work fine. I haven't tested it personally, though, since my board does not support those channels.