FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
5915 Discussions

Expected "channels" specification in the BSP's board_spec.xml but see nothing.

okramer
New Contributor I
838 Views

I'm learning about Intel's "channels" OpenCL extension for host-to-kernel and io-to-kernel communication. The training video says the specification of the board's available channels are in board_spec.xml. I looked in

 

intelFPGA_pro/19.3/hld/board/a10_ref/hardware/a10gx/board_spec.xml intelFPGA_pro/19.3/hld/board/a10_ref/hardware/a10gx_hostpipe/board_spec.xml

 

(I have an A10GX dev kit). The first board_spec.xml has no channels, while the second one has:

<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>

Is this for PCIe? What about ethernet IO? How do I use channels with this board

0 Kudos
1 Solution
MEIYAN_L_Intel
Employee
629 Views

Hi,

 

Yes host-to-dev channel and dev-to-host are supported only by "a10gx_hostpipe"BSP.

 

For question "Does Intel perhaps provide a BSP with ethernet available, since the dev kit comes with ethernet?", i would need some time to check it internally.

 

The BSP support host-dec streaming via pipe. The channel is provided for pipe to work. There is no difference between pipe and channel, it only the name difference here.

 

Thanks

View solution in original post

0 Kudos
6 Replies
MEIYAN_L_Intel
Employee
629 Views

Hi, 

 

These line is used for the BSP to support host channels. You can try create a loopback kernel which can read from host_to_dev channel and write to host_to_dev channel.

 

For more information, you can refer to the links below: 

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/opencl-sdk/ug-aocl-a10pciedk-platform.pdf

 

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/an/an831.pdf

 

Thanks

0 Kudos
okramer
New Contributor I
629 Views

Thanks Mylee.

 

If I understand correctly, host-to-dev and dev-to-host channels are currently supported only by the "a10gx_hostpipe" BSP. When I invoke aoc, I need to use "-board=a10gx_hostpipe", correct? The "a10_ref" BSP does not support host<->dev channels?

 

What about ethernet? From the user guide you linked to above, it sounds like I'll need to define a new BSP based on "a10gx_hostpipe" that adds the ethernet capability as well. Does Intel perhaps provide a BSP with ethernet available, since the dev kit comes with ethernet?

 

What about OpenCL pipes? I suppose the BSP somehow needs to support host<->dev streaming via pipes. Does Intel use channels under the hood for the OpenCL pipes implementation? So in order for pipes to work, the BSP must provide corresponding channels? I willl most likely use pipes, not channels, so this question is the most important.

0 Kudos
MEIYAN_L_Intel
Employee
630 Views

Hi,

 

Yes host-to-dev channel and dev-to-host are supported only by "a10gx_hostpipe"BSP.

 

For question "Does Intel perhaps provide a BSP with ethernet available, since the dev kit comes with ethernet?", i would need some time to check it internally.

 

The BSP support host-dec streaming via pipe. The channel is provided for pipe to work. There is no difference between pipe and channel, it only the name difference here.

 

Thanks

0 Kudos
MEIYAN_L_Intel
Employee
629 Views

Hi, 

 

After check internally, there is no Arria 10 BSP with ethernet available provided by Intel. 

 

To define the Arria 10GX with ethernet available, there is a document: "Stratix V network reference platform porting guide" that may be useful for you to define the ethernet available BSP. 

https://www.intel.com/content/www/us/en/programmable/documentation/ewa1404851957878.html#ewa1405102911782

 

To modify the Arria 10GX BSP, you may need to refer the document as below: 

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/an/an780.pdf

 

Thanks

0 Kudos
okramer
New Contributor I
629 Views

I don't think aocl is seeing a10gx_hostpipe. When I do "aocl install", am I supposed to provide it the path to hostpipe BSP? My directory structure is:

~/intelFPGA_pro/19.3/hld/board/a10_ref board_env.xml bringup/ hardware/ a10gx/ board_spec.xml, ... a10gx_hostpipe/ board_spec.xml, ... linux64/ scripts/ source/

I ran aocl install $INTELFPGAOCLSDKROOT/board/a10_ref successfully, but when I do aocl diagnose acl0 I see:

... -------------------------------------------------------------------- BSP Diagnostics -------------------------------------------------------------------- Using Device with name: a10gx : Arria 10 Reference Platform (acla10_ref0) ...

The diagnostic passes, but the device name = "a10gx" worries me. In $INTELFPGAOCLSDK/board/a10_ref/hardware/a10gx_hostpipe/board_spec.xml, the device name is given as name="a10gx_hostpipe", while in a10gx/board_spec.xml, it is given as name="a10gx". Does this mean I'm accessing the wrong BSP? How do I install the a10gx_hostpipe BSP?

 

0 Kudos
MEIYAN_L_Intel
Employee
629 Views

Hi,

According to https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/opencl-sdk/ug-aocl-a10pciedk-platform.pdf in Chapter 1.2.1, you have to choose the reference platform board variants by including board=<board name> as your aoc command option.

 

Thanks

0 Kudos
Reply