Forum Discussion
Hi Kevin,
I just started with oneAPI tutorial for setting up the basic workflow, and the design that I am using is the vector-add sample (seems to be FPGA SYCL code). I want to try 'make fpga' step in Get Started with the Intel® oneAPI Base Toolkit for Linux* which is similar to the tutorial you shared. It suggests me to copy the executable file to the runtime system, and run the executable file.
By mentioning "we only support x86 machine as host (linux or windows) not the HPS core on our SoC FPGA", does it mean I need to run './vector-add-usm.fpga' on my x86 machine as host, and the FPGA will be programmed automatically?
And both of these two tutorials seem to hide the details of host-board connection. Is there a guidance on how I should physically connect my board with my x86 host machine? Now I seem to have 3 connections available: a micro-USB connection (recognized as AGI FPGA DevKit in Quartus), an Intel FPGA download cable II connection (recognized as USB-Blaster II in Quartus), and a UART serial communication connection. Are these enough to automatically program FPGA by running executable on the host?
Thanks,
Runlong
Hi Runlong,
- It suggests me to copy the executable file to the runtime system, and run the executable file.
The "runtime system" referring to the computer that the FPGA Card is connected to, either through PCI-E or USB. We mention copying here because it is common to use different machine to compile and run the executable.
- does it mean I need to run './vector-add-usm.fpga' on my x86 machine as host, and the FPGA will be programmed automatically?
Yes. Assuming you have the FPGA card connected and initialized, and proper driver and BSP/ASP installed. If not, I am linking some resources for how to do that:
- You need to install the oneapi base toolkit and the oneapi fpga support package. You also need to have Quartus installed.
- You need to install the Accelerator Support Package (ASP) for your specific board. You can usually get the ASP from your board vendor, or it can be generated by following this guide: https://ofs.github.io/ofs-2024.2-1/hw/common/user_guides/oneapi_asp/ug_oneapi_asp/
- You need to initialize your board: https://www.intel.com/content/www/us/en/docs/oneapi-fpga-add-on/developer-guide/2024-2/managing-an-fpga-board.html
Once the above is settled up, you can then run the executable such as "vector-add-buffers.fpga" same why you run any binary executable.
The step to generate BSP/ASP can be a bit involved, let me know if you need more help wit it.
Thanks,
-Kevin
- uniqueMR2 years ago
New Contributor
Hi Kevin Xu,
By mentioning "You can usually get the ASP from your board vendor, or it can be generated by following this guide", does it mean I can skip generating BSP/ASP myself if I am able to get those support packages from, as you suggested, the board vendor?
Now the guidance on ofs.github.io seems pretty scary to me. I spent two days without figuring out where should I start with. Each step seems to have a bunch of prerequisits and assumptions. I think those steps might be too much before I can run a simple line of 'helloWorld' and become the first-day learner of oneAPI.
If I can somehow get the well-crafted BSP/ASP, does it mean I can start with something like 'aocl install <BSP_root_folder>'? That will make my life much easier. Thanks!
Best,
Runlong
- Kevin_Xu_Intel2 years ago
New Contributor
Hi Runlong,
I can work on getting a BSP/ASP for the I-serial Devkit. But i want to mention:
- It's not going to work with the ARM host you mentioned, only with an x86 host.
- Even if we can generate a BSP/ASP that supports ARM core, the oneAPI runtime still won't work on ARM.
- If running with ARM is a hard requirement, the only way I can think of is to export your oneAPI design as an RTL IP, and connect it to the HPS ARM core in Quartus Platform Designer.
Thanks,
-Kevin
- uniqueMR2 years ago
New Contributor
Hi Kevin,
Thank you so much for your time and effort. Yes, using ARM host is NOT a strong requirements for me at this point. I mentioned the ARM core just because I related it to my other project experience in the past. In the end, I will follow what oneAPI workflow expects me to do. I really appreciate that you can help me with BSP/ASP for I-series Devkit.
Thanks,
Runlong