Forum Discussion

JSchr20's avatar
JSchr20
Icon for Occasional Contributor rankOccasional Contributor
5 years ago

OpenCL environment for darby nodes on devcloud

I have been running OpenCL applications on the devcloud intel_a10gx_pac boards for several months now. I was recently granted access to the two "darby" nodes (intel_s10sx_pac), nodes s001-n189 and s005-n008. However, when I log in interactively to node s001-n189, for example, and try to run aoc or aocl, they're "not found". On the arria10 nodes, one's environment was set up properly such that all the software and board models were accessible by default. That appears not to be the case for the darby nodes. Can someone please tell me how I should set up my environment to be able to run?

Thank you!

13 Replies

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

    Hi ,

    Hope the issue is resolved after discussions with the team.

    Thanks and Regards

    Anil


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

      Thank you, yes, my environment was successfully set up and I have been able to emulate and build hardware successfully.

      Here's a summary of my notes on how to make it work at this time. This is how I'm able to build an OpenCL design that wraps System Verilog RTL which in turn wraps encrypted VHDL 2008 RTL (which requires a local modification to the BSP):

      For the darby nodes using devcloud_login, the batch job.sh looks like this (note fully-qualified paths):
      #!/bin/bash
      source /data/intel_fpga/devcloudLoginToolSetup.sh
      tools_setup -t S10DS
      aoc -board-package=/home/u40073/intel_opencl_bsp_pac_s10_dc_local -board=pac_s10_dc -DNUM_COMPUTE_UNITS=1 -DNUM_LIMBS=4 -DNUM_INTS=8 /home/u40073/calculator_s10/mult_multi_limb_wide/device/mult_multi_limb_rtl.cl -o /home/u40073/calculator_s10/mult_multi_limb_wide/bin_monster_1_4_8/mult_multi_limb_hw.aocx -I /home/u40073/calculator_s10/mult_multi_limb_wide/rtl/lib -I /home/u40073/calculator_s10/mult_multi_limb_wide/device -L /home/u40073/calculator_s10/mult_multi_limb_wide/rtl -l mult_multi_int_lib_monster.aoclib

      To then run that job in batch mode:
      devcloud_login -b S10PAC job.sh # submit the job
      qstat batch@v-qsvr-fpga # check for jobs
      watch -n 1 qstat -n -1 batch@v-qsvr-fpga # watch the job
      qdel 7321.v-qsvr-fpga # example of deleting a darby job

      If you get a CL_DEVICE_NOT_FOUND error, you might be able to work around it by just loading the bitfile by hand:
      aocl program acl0 <project>.aocx
      Then just run the host code as normal.

      Thanks again for all of your help.

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

    How did you set up the tools on the s10 nodes?

    "tools_setup -t S10DS" works fine to set them up when you are logged interactively.

    Regards!

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

      Hi DDIAKITE, thanks for your reply. Unfortunately, "tools_setup" is not found when I log in interactively. (See transcript below.) Can you please give me the full path to that command, so that I can try forcing a run of that command?

      Thank you!

      Transcript:

      u40073@login-2:~$ qsub -q batch@v-qsvr-fpga -I -l nodes=1:darby:ppn=2 -d .
      qsub: waiting for job 7103.v-qsvr-fpga.aidevcloud to start
      qsub: job 7103.v-qsvr-fpga.aidevcloud ready


      ########################################################################
      # Date: Fri Jul 17 09:55:47 PDT 2020
      # Job ID: 7103.v-qsvr-fpga.aidevcloud
      # User: u40073
      # Resources: neednodes=1:darby:ppn=2,nodes=1:darby:ppn=2,walltime=06:00:00
      ########################################################################

      u40073@s005-n008:~$ tools_setup -t S10DS
      -bash: tools_setup: command not found

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

        Hi JSchr20,

        Try those command:
        source /data/intel_fpga/devcloudLoginToolSetup.sh
        tools_setup -t S10DS

        If it works then you should add the following in your bashrc:

        if [ -f /data/intel_fpga/devcloudLoginToolSetup.sh ]; then
        source /data/intel_fpga/devcloudLoginToolSetup.sh
        fi

        And after that "tool_setup" will be found anytime without sourcing devcloudLoginToolSetup.sh manually.

        Regards!