Forum Discussion
DevCloud: AOC Unable to compile kernels for device for any of the FPGA nodes: instantiates undefined entity "board" (reopened issue in new forum)
Ask a question about a DevCloud FPGA resource in the DevCloud forum, get feedback over a week and then randomly locked and redirected elsewhere. Guess the other forum's first-tier support staff was tired of not being able to solve it? Either way as a customer it would be far easier to document a priori that for some reason FPGA DevCloud issues are handled elsewhere other than the DevCloud forum itself, rather than after the fact.
The original thread is here. https://software.intel.com/en-us/forums/intel-devcloud/topic/832012 (Contains my .bashrc and several solution attempts, and a week of debugging before they decided to randomly lock it and direct me here.)
The gist is the DevCloud FPGA nodes give this error (same as https://forums.intel.com/s/question/0D50P00004UAnXVSA1/how-to-use-paca10-with-intel-fpga-sdk-for-opencl-192, but on an Intel-configured machine, rather than a personally-configured): any time you try to compile a kernel:
- aoc: First stage compilation completed successfully.
- 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 Intel FPGA SDK for OpenCL Best Practices Guide for information on performance tuning applications for FPGAs.
- Error (16045): Instance "ccip_std_afu|bsp_logic_inst|board_inst" instantiates undefined entity "board" File: /home/<userid>/P3HPC19/shoc/src/opencl/level2/s3d/gr_base/build/bsp_logic.sv Line: 133
- Error (16185): Can't elaborate user hierarchy "ccip_std_afu|bsp_logic_inst|board_inst" File: /home/<userid>/P3HPC19/shoc/src/opencl/level2/s3d/gr_base/build/bsp_logic.sv Line: 133
- Error (16185): Can't elaborate user hierarchy "ccip_std_afu|bsp_logic_inst" File: /home/<userid>/P3HPC19/shoc/src/opencl/level2/s3d/gr_base/build/BBB_cci_mpf/hw/rtl/cci-mpf-if/cci_mpf_if.vh Line: 38
- Error (16185): Can't elaborate user hierarchy "ccip_std_afu" File: /home/<userid>/P3HPC19/shoc/src/opencl/level2/s3d/gr_base/build/platform/green_bs.sv Line: 183
- Error (16186): Can't elaborate top-level user hierarchy
- Error: Flow failed:
- Error: Quartus Prime Synthesis was unsuccessful. 6 errors, 357 warnings
- Error (23035): Tcl error: ERROR: Error(s) found while running an executable. See report file(s) for error message(s). Message log indicates which executable was run last.
- Error (23031): Evaluation of Tcl script a10_partial_reconfig/flow.tcl unsuccessful
- Error: Quartus Prime Shell was unsuccessful. 13 errors, 357 warnings
- Error: Compiler Error, not able to generate hardware
15 Replies
- PSath2
New Contributor
What? I just provided 28 example kernels and they were also provided in the previous thread before it was locked?
The VectorAdd OpenCL kernel I posted yesterday that immediately precedes your response, as well as the 27 SHOC/S3D kernels linked in the same post. Literally just put those four lines in a file called vectorAdd.cl and then "aoc -v vectorAdd.cl"
- PSath2
New Contributor
Interestingly, now that I've had a chance to check on the default queue (and not had my job terminated early, see (https://software.intel.com/en-us/forums/intel-devcloud/topic/840456), the vectorAdd example appears to make it substantially further, but still does not produce an aocx file. It does produce an aoco and aocr pair, however. quartus_sh_compile.log indicates that on the default queue it is correctly using Quartus Prime 17.1.1.
However, the pipeline still fails during some reporting step. Console and quartus_compile_report.log below:
1@s001-n091:~$ time aoc -v vectorAdd.cl aoc: Environment checks are completed successfully. aoc: Cached files in /var/tmp/aocl/ may be used to reduce compilation time You are now compiling the full flow!! aoc: Selected default target board pac_a10 aoc: Running OpenCL parser.... aoc: OpenCL parser completed successfully. aoc: Linking Object files.... aoc: Optimizing and doing static analysis of code... aoc: Linking with IP library ... Checking if memory usage is larger than 100% Compiler Warning: /home/<userId>/vectorAdd.cl:1: declaring global arguments 'A', 'B' and 'C' with no 'restrict' may lead to low performance for kernel 'vectorAdd' aoc: First stage compilation completed successfully. Compiling for FPGA. This process may take a long time, please be patient. Error: Quartus full compile: generating Quartus compile report FAILED. Refer to quartus_compile_report.log for details. real 67m39.208s user 228m0.869s sys 11m19.219s------------------------------------------------ ERROR: Can't load report data for revision name: afu_import. Make sure the report database exists for the specified revision name. while executing "load_report $project_rev" (procedure "generate_report" line 5) invoked from within "generate_report "kernel" $project_name $project_rev $report_file_name -1 $skip_entity_area_report $a_fmax $fmax2 $k_fmax $kernel_list" (procedure "generate_opencl_report" line 3) invoked from within "generate_opencl_report $project_name $project_rev $report_file_name $skip_entity_area_report $a_fmax $fmax2 $k_fmax $kernel_list" invoked from within "if {[string equal "aoc" [lindex $quartus(args) 0]]} { set arglen [llength $quartus(args)] if {$arglen < 9} { post_message "The minimum number ..." (file "/glob/development-tools/versions/intelFPGA_pro/18.1/hld/share/lib/tcl/quartus_compile_report.tcl" line 532) ------------------------------------------------ factured by Info: Intel and sold by Intel or its authorized distributors. Please Info: refer to the applicable agreement for further details. Info: Processing started: Thu Dec 5 10:38:09 2019 Info: Command: quartus_sh -t /glob/development-tools/versions/intelFPGA_pro/18.1/hld/share/lib/tcl/quartus_compile_report.tcl aoc dcp afu_import ./reports/lib/json/quartus.json 0 265 10000 265.67 vectorAdd,0 Info: Quartus(args): aoc dcp afu_import ./reports/lib/json/quartus.json 0 265 10000 265.67 vectorAdd,0 Info: Using INI file /home/u29791/vectorAdd/quartus.ini Error (23031): Evaluation of Tcl script /glob/development-tools/versions/intelFPGA_pro/18.1/hld/share/lib/tcl/quartus_compile_report.tcl unsuccessful Error: Quartus Prime Shell was unsuccessful. 1 error, 0 warnings Error: Peak virtual memory: 603 megabytes Error: Processing ended: Thu Dec 5 10:38:09 2019 Error: Elapsed time: 00:00:00 Error: Total CPU time (on all processors): 00:00:00 - MEIYAN_L_Intel
Frequent Contributor
Hi,
I had done the following steps to compile with OpenCL tool in Intel DevCloud:
1. Enter devloud:
ssh devcloud
2. Enter the node with pac card:
qsub -q batch@v-qsvr-fpga -I -l nodes=s001-n137:ppn=2
3. Source the OpenCL:
source /opt/a10/inteldevstack/init_env.sh
source /opt/a10/inteldevstack/intelFPGA_pro/hld/init_opencl.sh
4. make a directory:
eg: mkdir vector
5. add a file for vector_add:
vi vector.cl
6. Compile the example with the command below:
aoc -march=emulator -v vector_add/vector.cl -o vector_add/vector.aocx
Thanks
- PSath2
New Contributor
The issue appears isolated to the FPGA beta queue. When we use a default bashrc/bash_profile on the v-qsvr-1.aidevcloud queue, we can successfully build for hardware.
- MEIYAN_L_Intel
Frequent Contributor
Hi,
I will report the issue to the developer.
Thanks for your update.
Thanks