Forum Discussion

okramer's avatar
okramer
Icon for Occasional Contributor rankOccasional Contributor
6 years ago
Solved

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

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

  • 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

6 Replies

  • okramer's avatar
    okramer
    Icon for Occasional Contributor rankOccasional Contributor

    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.

  • MEIYAN_L_Intel's avatar
    MEIYAN_L_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    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

  • MEIYAN_L_Intel's avatar
    MEIYAN_L_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    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

  • okramer's avatar
    okramer
    Icon for Occasional Contributor rankOccasional Contributor

    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?