Running oneAPI C++SYCL_FPGA GettingStarted Example on devcloud
Hello,
I am quite new to everything and I tried to run some examples in
oneAPI-samples/DirectProgramming/C++SYCL_FPGA/Tutorials/GettingStarted
/fpga_compile/
I've heard using modelsim or questa on devcloud is not possible, so I am trying to compile and run fpga_emu, report and fpga. (without the simulation using modelsim)
Actually, I already run these examples recently.
I remember it was last Monday.
But, I tried it again today with same steps, but it was very different from the last time.
The steps I took last time:
1. log in to devcloud using MobaXterm using
$ ssh devcloud
2. access node using
$ devcloud_login
I chose number 2 which included ARRIA10 oneAPI
3. move to the project directory and make build directory
4. in build directory, do
$ cmake .. -DFPGA_DEVICE=ARRIA10
5. compile and run fpga_emu
$ make fpga_emu
$ ./vector_add.fpga_emu
6. compile and look at report
$ make report
** I could not find any way to open the report file (vector_add_report.prj/reports/reports.html) so I had to zip the report folder and transfer it to my local laptop and open it there. Please let me know if there is any better way to see the reports.html file in ssh!**
7. compile and run fpga
$ make fpga
$./vector_add.fpga
I remember that these were the steps I took and all compiled and showed the results correctly with no errors.
Last time, I also compiled fpga_emu and report for ReferenceDesigns/matmul example with no errors.
But today, I had problems starting from step 5 above (fpga_emu compile).
So, I accessed it in fpga compile node by (instead of the step 2 above: devcloud_login)
$ qsub -I -l nodes=1:fpga_compile:ppn=2 -d .
This allowed me to compile fpga_emu, report and fpga.
But running the fpga compile result file did not work
To overcome this problem, I tried:
i) log in to runtime node by
$ qsub -I -l nodes=1:fpga_runtime:arria10:ppn=2 -d .
ii) do
$ cmake .. -DFPGA_DEVICE=/opt/intel/oneapi/intel_a10gx_pac:pac_a10
instead of step 4 (cmake .. ) above
iii) initialize fpga. Did not reach this step because error occurred when doing
$ aocl diagnose all
error msg when I tried the command after connecting to runtime node as (i):
--------------------------------------------------------------------
ICD System Diagnostics
--------------------------------------------------------------------
Using the following location for ICD installation:
/etc/OpenCL/vendors
WARNING: Skipping ICD validation since there is no ICD entry at this location
Using OCL_ICD_FILENAMES to search for ICD clients, it is set to libintelocl.so
Checking LD_LIBRARY_PATH for registered libraries specified by OCL_ICD_FILENAMES
libintelocl.so was registered on the system at /glob/development-tools/versions/oneapi/2023.2.0.1/oneapi/compiler/2023.2.1/linux/lib/x64
ERROR: No ICD entry and all files specified by OCL_ICD_FILENAMES are invalid
--------------------------------------------------------------------
ICD diagnostics FAILED
--------------------------------------------------------------------
--------------------------------------------------------------------
BSP Diagnostics
--------------------------------------------------------------------
/glob/development-tools/versions/oneapi/2023.2.0.1/oneapi/compiler/2023.2.1/linux/lib/oclfpga/board/intel_a10gx_pac/linux64/libexec/diagnose: error while loading shared libraries: libopae-c.so.1: cannot open shared object file: No such file or directory
To summerize, I was curious
- why it worked last time so simply but it does not work now
- how to initialize FPGA in devcloud if I should do it
- any other things I missed to run the examples?
Thanks in advance,
Junsang Yoo
Hi JSYOO,
The error "Caught a synchronous SYCL exception: NULL pointer .." is expected as you are targetting a specific device family. This flow (HLS SYCL Flow) produce RTL IP Core and are meant to be integrated into a system using Quartus/PD . *The 2 FPGA Development Flow can be referred here Intel oneAPI FPGA Development Flow.
As for As for "Error: The board package being used only supports report generation/emulation/runtime" it maybe due to the node used on DevCloud is not working properly. Can try other node and check if the same error will occur or not.
Thanks.
Regards,
Aik Eu