Forum Discussion
Questions: Intel oneAPI 24.2 with DE10-Agilex and Related Environment setup
- 1 year ago
Hello Feng,
I'm sorry for the trouble you've been having. We test the compiler against a reference BSP on devkit hardware, but it is ultimately up to board vendors to validate that their hardware and firmware work with the latest oneAPI compiler release. If Terasic only validates 2022.1, then that is the only version that is officially known to work with that card.
Having said that, my colleague was able to successfully compile your design using
- Ubuntu 20.04.6 LTS
- oneAPI 2024.1
- Quartus® Prime Pro 21.2
- the Terasic BSP
He saw the same license issue with oneAPI 2024.2.
I suggest as a last resort that you remove other versions of the Quartus® Prime and oneAPI software, leaving only oneAPI 2024.1 and Quartus® Prime Pro 21.2.
I have personally experienced issues with license files that were not configured correctly. For example, a Quartus fixed license only works for a machine whose ethernet MAC address matches the ID embedded in the license file. This means that a license file for my workstation will not work for your workstation. From your Terasic email chain that you shared, it sounds like you may be using a liceense0046.dat from a different machine, rather than one that they specifically made for you:
How did you get the license0046.dat before? There are not any previous emails communication with you that we send you this license file.
Thanks for checking with Terasic. We don't normally test with the Terasic DE10-Agilex cards.
I see that we observe the same issue with oneAPI 2024.2 and the Terasic BSP, however oneAPI 2024.1 appears to compile successfully (as noted in https://community.intel.com/t5/Intel-High-Level-Design/Error-while-linking-host-code-device-code-in-sycl-with-icpx/m-p/1641487). You can download the 2024.1 basekit from linux package repositories the same way you downloaded 2024.2, except you don't need to install a separate FPGA support package.
I read the linked attached discussion, but I do not see a successful reply.
I get the same error as before with 24.2; I cut from the quartus_sh_compile.log file:
Error (292014): Can't find valid feature line for core adjust_plls_ag_pxx (535C_0046) (Vendor: Terasic) in current license.
Internal Error: Sub-system: QEXE, File: /quartus/comp/qexe/qexe_framework.cpp, Line: 1964
Input TCL is not properly encrypted by altcrypt
Error (23035): Tcl error:
while executing
"qexec "quartus_cdb -t scripts/adjust_plls_ag_pxx.tcl""
(file "scripts/post_flow_pr.tcl" line 59)
Error (23031): Evaluation of Tcl script scripts/post_flow_pr.tcl unsuccessful
Error: Quartus Prime Compiler Database Interface was unsuccessful. 2 errors, 0 warnings
Error: Peak virtual memory: 797 megabytes
Error: Processing ended: Sat Nov 9 13:43:01 2024
Error: Elapsed time: 00:04:46
Error: System process ID: 214522
Error (23035): Tcl error:
while executing
"qexec "quartus_cdb -t scripts/post_flow_pr.tcl \"$top_path\"""
invoked from within
"if {$revision_name eq "top"} {
post_message "Compiling top revision..."
# Load OpenCL BSP utility functions
source "$sdk_root/ip/board/bsp/ope..."
(file "compile_script.tcl" line 39)
Error (23031): Evaluation of Tcl script compile_script.tcl unsuccessful
Error: Quartus Prime Compiler Database Interface was unsuccessful. 2 errors, 0 warnings
Error: Peak virtual memory: 797 megabytes
Error: Processing ended: Sat Nov 9 13:43:01 2024
Error: Elapsed time: 01:20:26
Error: System process ID: 203816
I also check the $LM_LICENSE_FILE before my test.
I suffered from these processes in the past year trying and testing. And now back to my initial confusion:
What is the work environment for OneAPI: 24.2/24.1 on DE10-Agilex?
Or does the DE10_Agilex only work with OneAPI22.1?
Regards
Feng
- whitepau_altera1 year ago
Contributor
Hello Feng,
I'm sorry for the trouble you've been having. We test the compiler against a reference BSP on devkit hardware, but it is ultimately up to board vendors to validate that their hardware and firmware work with the latest oneAPI compiler release. If Terasic only validates 2022.1, then that is the only version that is officially known to work with that card.
Having said that, my colleague was able to successfully compile your design using
- Ubuntu 20.04.6 LTS
- oneAPI 2024.1
- Quartus® Prime Pro 21.2
- the Terasic BSP
He saw the same license issue with oneAPI 2024.2.
I suggest as a last resort that you remove other versions of the Quartus® Prime and oneAPI software, leaving only oneAPI 2024.1 and Quartus® Prime Pro 21.2.
I have personally experienced issues with license files that were not configured correctly. For example, a Quartus fixed license only works for a machine whose ethernet MAC address matches the ID embedded in the license file. This means that a license file for my workstation will not work for your workstation. From your Terasic email chain that you shared, it sounds like you may be using a liceense0046.dat from a different machine, rather than one that they specifically made for you:
How did you get the license0046.dat before? There are not any previous emails communication with you that we send you this license file.
- Feng-Y-281 year ago
New Contributor
Hi Whitepau
Thanks for your help and reply.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Having said that, my colleague was able to successfully compile your design using
- Ubuntu 20.04.6 LTS
- oneAPI 2024.1
- Quartus® Prime Pro 21.2
- the Terasic BSP
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
I tested with the enviro since last week(oneapi 2024.1). Differently, I can successfully generate a simulator file and execute it.
However, the binary file still has the same tcl error. I got the reply from terasic support just now, the license file is not for a specific machine:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Hi Feng,
The license0046.dat isn't for specific machine, it's irrelevant to customers' machine MAC address either.
I'm afraid that we haven't other license, as we didn't test it with oneAPI 2024.2, current we haven't solution on how to fix the error.
Our advice is using oneAPI 2022.2 with our official oneAPI BSP, if our engineers upgrade our BSP to oneAPI 2024.2, we will share it to you for testing.
Hope your understanding.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
May I check that you have the $LM_LICENSE_FILE value?
All my setups only targeted the license0046.dat.fyan691@Agilex02:~$ aoc -version
Intel(R) FPGA SDK for OpenCL(TM), 64-Bit Offline Compiler
Version 2024.1.0 Build a5022661d62a60f2aaead3503b860ef1d8dbe4a7 Pro Edition
Copyright (C) 2024 Intel Corporation
fyan691@Agilex02:~$ icpx --version
Intel(R) oneAPI DPC++/C++ Compiler 2024.1.2 (2024.1.2.20240508)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/intel/oneapi/compiler/2024.1/bin/compiler
Configuration file: /opt/intel/oneapi/compiler/2024.1/bin/compiler/../icpx.cfgI also ask help from my lab technician about the enviro setup:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
I checked Intel’s reply and got the information that you were looking for.
Not sure, but I think we already made their suggestion
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- Ubuntu 20.04.6 LTS
- oneAPI 2024.1
- Quartus® Prime Pro 21.2
- the Terasic BSP
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
But except for the license0046.dat file. Do you think you can reach out to Terasic if what Intel referring is true? We can provide the MAC addresses if we need to.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Regards
Feng
- Feng-Y-281 year ago
New Contributor
Hi whitepau
I wanted to express my sincere thanks for your patient guidance over the past month. With your help, I've completed the machine reset and test file generation.
Your expertise and willingness to help have been invaluable, and I truly appreciate all your support.
Best regards,
Feng
- whitepau_altera1 year ago
Contributor
Thank you Feng!
Were you able to generate a bitstream using 2024.1 and Quartus® Prime 21.2 by removing other versions?For what it's worth, I was actually able to generate a bitstream using oneAPI 2024.2 and Quartus® Prime 21.2 on one of our lab machines using a fresh installation. For the record, this was with -DPART=4 in the fpga_compile code sample.
# Set up environment $ source /opt/intel/oneapi/2024.2/oneapi-vars.sh --force $ export PATH="$PATH:/opt/intel/FPGA_pro/21.2/quartus/bin" $ which quartus /opt/intel/FPGA_pro/21.2/quartus/bin/quartus $ cd oneAPI-samples/DirectProgramming/C++SYCL_FPGA/Tutorials/GettingStarted/fpga_compile/build_2024.2/ $ aoc -version Intel(R) FPGA SDK for OpenCL(TM), 64-Bit Offline Compiler Version 2024.2.1 Build 8907061a4a7bb8b03783e9f52adc9762aaf4d91d Pro Edition Copyright (C) 2024 Intel Corporation $ echo $LM_LICENSE_FILE <...>/license0046.dat # use CMake to generate build script and build FPGA device image $ cmake .. -DPART=4 -DFPGA_DEVICE=de10_agilex:B2E2_8GBx4 -- The CXX compiler identification is Clang 19.0.0 -- Check for working CXX compiler: /opt/intel/oneapi/2024.2/bin/icpx -- Check for working CXX compiler: /opt/intel/oneapi/2024.2/bin/icpx -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Sources file part4_dpcpp_lambda_buffers/src/vector_add.cpp -- Configuring the design to run on FPGA board de10_agilex:B2E2_8GBx4 -- Additional USER_FPGA_FLAGS= -- Additional USER_FLAGS= -- Additional USER_INCLUDE_PATHS=../../../../include -- Additional USER_LIB_PATHS= -- Additional USER_LIBS= -- Configuring done -- Generating done -- Build files have been written to: /home/whitepau/oneAPI-samples/DirectProgramming/C++SYCL_FPGA/Tutorials/GettingStarted/fpga_compile/build_2024.2 $ time make fpga [ 33%] To compile manually: /opt/intel/oneapi/2024.2/bin/icpx -I../../../../../include -fsycl -fintelfpga -Wall -qactypes -DFPGA_HARDWARE -c ../part4_dpcpp_lambda_buffers/src/vector_add.cpp -o CMakeFiles/fpga.dir/part4_dpcpp_lambda_buffers/src/vector_add.cpp.o To link manually: /opt/intel/oneapi/2024.2/bin/icpx -fsycl -fintelfpga -qactypes -Xshardware -Xstarget=de10_agilex:B2E2_8GBx4 -reuse-exe=/home/whitepau/oneAPI-samples/DirectProgramming/C++SYCL_FPGA/Tutorials/GettingStarted/fpga_compile/build_2024.2/vector_add.fpga -o vector_add.fpga CMakeFiles/fpga.dir/part4_dpcpp_lambda_buffers/src/vector_add.cpp.o [ 33%] Built target displayFPGACompileCommands [ 66%] Linking CXX executable vector_add.fpga warning: -reuse-exe file '/home/whitepau/oneAPI-samples/DirectProgramming/C++SYCL_FPGA/Tutorials/GettingStarted/fpga_compile/build_2024.2/vector_add.fpga' not found; ignored aoc: Compiling for FPGA. This process may take several hours to complete. Prior to performing this compile, be sure to check the reports to ensure the design will meet your performance targets. If the reports indicate performance targets are not being met, code edits may be required. Please refer to the oneAPI FPGA Optimization Guide for information on performance tuning applications for FPGAs. [100%] Built target fpga real 139m54.261s user 358m27.793s sys 27m7.830s