ContributionsMost RecentMost LikesSolutionsRe: Error while linking host code device code in sycl with icpx Hi @dgaranda, I was able to compile the source code you posted. I want to check: Are you using the the CMakeLists.txt from the code sample? Or did you modified it (other than file names) What version of the compiler are you using ? (icpx --version and aocl version) What's your compilation target (FPGA_DEVICE)? Thanks, -Kevin Re: Typical way of loading runtime to Arm core (HPS) Hi Runlong, I was unable to local a pre-build BSP/ASP for the I-Series devkit. The best I can find is a pre build FIM for this devkit: Go to https://github.com/OFS/ofs-agx7-pcie-attach/releases/tag/ofs-2024.1-1, and download iseries-1x400-images_ofs-2024-1-1.tar.gz This FIM should allows you to skip section 2.2 entirely, and it is the most time consuming steps in the process of creating BSP/ASP. Let me know if you need any help generating BSP/ASP. Thanks, -Kevin Re: Typical way of loading runtime to Arm core (HPS) 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 Re: Typical way of loading runtime to Arm core (HPS) 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 Re: Typical way of loading runtime to Arm core (HPS) Hi Runlong, Can you share more about your design/ project? Are you trying to offload accelerated computation? or generating RTL IP ? (Difference is explained here) If you are trying to build a multiarchitecture executable, I believe we only support x86 machine as host (linux or windows) not the HPS core on our SoC FPGA. When you running the multiarchitecture executable (on the host) for the first time, it program the FPGA automatically. I recommend following this tutorial to get started on running a simple oneAPI program on FPGA: https://github.com/oneapi-src/oneAPI-samples/tree/master/DirectProgramming/C%2B%2BSYCL_FPGA/Tutorials/GettingStarted/fpga_compile Thanks, -Kevin Re: How to utilize HBM in Intel FPGA using oneAPI? Hello, I don't think we have any public examples on using HBM. The only one I know is by Bittware and you will have to requests for the source code: https://www.bittware.com/resources/hbm2-2d-fft-oneapi/ If you have a HBM enabled board, the manufactory might have example that works specifically for the board. If you are using oneAPI HLS flow (to generate IP), you will need to add HBM when you intergrade your IP in Quartus/Platform Designer If you are using oneAPI full acceleration flow, try follwing this doc on access heterogeneous memory: https://www.intel.com/content/www/us/en/docs/oneapi-fpga-add-on/developer-guide/2024-1/partition-buffer-diff-mem.html Thanks, Re: How to utilize HBM in Intel FPGA using oneAPI? Hello, In full acceleration flow, (if target supports HBM) each HBM bank cab be accessed by specifying buffer_location when allocating memories. You should be able to see HBM bank being used in your optimization report -> System Viewer: Thanks, -Kevin Re: Compiler error oneAPI 2024.2 Hi DorianL, Yes, if aocl isn't recognized on your system after running the setvars script, that means the FPGA support package isn't correctly installed. Because we separated the FPGA support package in 2024.2, we put together a installation guide: https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2024-2/install-compiler-components-for-altera-fpga.html Can your refer to this guide to see if the install is correct? If needed reinstall both oneAPI basekit and FPGA support package according to the guide? Thanks, -Kevin Re: Compiler error oneAPI 2024.2 Hi DorianL, I found someone who encountered the same error: OpenCL platform ID is empty OpenCL platform name is empty Failed to find any of these OpenCL platforms: Intel(R) FPGA Emulation Platform for OpenCL(TM) Intel(R) FPGA Emulation Platform for OpenCL(TM) (preview) You might want to try reinstall the oneAPI base toolkit and FPGA support package according to this guide: https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2024-2/install-compiler-components-for-altera-fpga.html Thanks, -Kevin Re: Compiler error oneAPI 2024.2 Hi DorianL, It looks like there might be an installation problem. I just have a few questions to help us debug your install: What OS are you installing on? Can you show us your environment setup? (Can i see the output of "printenv"?) I want to double check if the FPGA compiler is working, can you try "aocl -diagnose"? Thanks, -Kevin