Intel® FPGA Software Installation & Licensing
Installation and Licensing that’s includes Intel Quartus® Prime software, ModelSim* - Intel FPGA Edition software, Nios® II Embedded Design Suite on Windows or Linux operating systems.
1143 Discussions

Error compiling hello_world.cl with aoc

gbarc2
Beginner
3,040 Views

I recently installed the Intel OpenCL SDK toolchain for FPGA on a Linux system by following the guide provided here https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/opencl-sdk/aocl_getting_started.pdf.

Since our board is an Intel PAC with Arria 10 GX, I also installed the Custom Platform for the board.

 

Running

 

aoc -version

Intel(R) FPGA SDK for OpenCL(TM), 64-Bit Offline Compiler

Version 17.1.1 Build 273

Copyright (C) 2017 Intel Corporation

 

quartus_map --version

Quartus Prime Analysis & Synthesis

Version 17.1.1 Build 273 12/19/2017 Patches 1.02dcp,1.36,1.38 SJ Pro Edition

Copyright (C) 2017 Intel Corporation. All rights reserved.

 

therefore aoc and Quartus are installed. I also ran "aocl diagnose" and it correctly passed the diagnostic for the board.

 

Then compiling the hello_world.cl kernel in emulation mode

 

aoc -v -march=emulator -board=pac_a10 hello_world.cl

 

worked without any problem (also at runtime the binary worked).

 

However, running

 

aoc -v -board=pac_a10  hello_world.cl

c: 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 target board pac_a10

aoc: Running OpenCL parser....

aoc: OpenCL parser completed successfully.

aoc: Optimizing and doing static analysis of code...

aoc: Linking with IP library ...

Checking if memory usage is larger than 100%

aoc: First stage compilation completed successfully.

Compiling for FPGA. This process may take a long time, please be patient.

Error: Compiler Error, not able to generate hardware

 

Therefore, I looked at hello_world.log (see attached) and there is no indication of why the compilation failed.

 

Then, I looked at quartus_sh_compile.log and the only line reported is

 

ERROR: packager tool failed to run. Check installation. Aborting compilation!

 

Could you please help us understand where the issue may be?

 

Many thanks.

 

 

 

 

 

0 Kudos
21 Replies
KhaiChein_Y_Intel
1,517 Views

Hi gbarc2,

 

Can you try to run in the latest version of the software?

 

Thanks

0 Kudos
gbarc3
Beginner
1,517 Views

Hi KYeoh,

we installed the software stack for the Intel PAC after downloading it from here https://www.intel.com/content/www/us/en/programmable/solutions/acceleration-hub/downloads.html

 

If there is any way to download a more recent version of the software, could you provide us a download link and/or instructions?

 

Many thanks

0 Kudos
KhaiChein_Y_Intel
1,517 Views

Hi gbarc3,

 

The error suggests you to check the installation. Could you update the version to v18.1?

 

ERROR: packager tool failed to run. Check installation. Aborting compilation!

 

Thanks.

0 Kudos
JMilt1
Beginner
1,517 Views

Could you please provide a link to instructions for installing the Arria 10 PAC with v18.1?

0 Kudos
KhaiChein_Y_Intel
1,517 Views

Hi JMilt1,

 

May I know what is the available RAM ? Could you share the bin/hello_world/quartus_sh_compile.log file?

 

Thanks

 

 

0 Kudos
JMilt1
Beginner
1,517 Views

I've attached my device/hello_world/quartus_sh_compile.log file. Are you asking what is the amount, or the kind, of available RAM on the board? How would I query this? (It's an Arria 10 GX PAC, if that helps.)

0 Kudos
KhaiChein_Y_Intel
1,517 Views
Hi JMilt1, I am referring to processor RAM. Thanks
0 Kudos
JMilt1
Beginner
1,517 Views

By 'processor', I assume you mean the FPGA. We did not change any of the memory settings from their defaults. How would I query to find out the available memory?

0 Kudos
KhaiChein_Y_Intel
1,517 Views

Hi JMilt1,

 

The theorized root cause there is that the Intel Quartus Prime software is using all the available processors, and the machine doesn't have enough memory to support use of all those processors.

Could you try to limit the number of processors being used by the Intel Quartus Prime software, for example to 2?

 

Thanks.

0 Kudos
JMilt1
Beginner
1,517 Views

I tried limiting `aoc` to a single core using taskset. It worked in the sense that max CPU usage was 100%, rather than 600%, however, there seemed to be no difference in the memory usage - either way it used around 8.3GB before crashing with the same error "Error: Compiler Error, not able to generate hardware".

0 Kudos
HRZ
Valued Contributor III
1,517 Views

"Processor" refers to the host processor in YY's reply, not the FPGA. You need 32 to 64 GB of host memory for one instance of Arria 10 placement and routing. How much memory is installed on the machine that you are using for placement and routing?

 

Also the "quartus_sh_compile" log you posted earlier does NOT show any errors and the process has finished successfully. Can you post the log for a compilation that failed?

0 Kudos
JMilt1
Beginner
1,517 Views

We have 96GB of memory on the host processor.

As gbarc2 said, for the failing compilations, the only line in the quartus_sh_compile.log for the failing compilation is:

 

ERROR: packager tool failed to run. Check installation. Aborting compilation!

0 Kudos
SMelz
Beginner
1,517 Views

Hi gbarc2,

i have the same error compiling hello_world.cl with aoc.

Is there any solution?

 

Thanks

Simon

 

0 Kudos
KhaiChein_Y_Intel
1,517 Views
Hi, Do you have all the required Linux packages installed? https://www.intel.com/content/www/us/en/programmable/documentation/iyu1522005567196.html#isp1528500494491 May I know what OS you are using? Thanks.
0 Kudos
SMelz
Beginner
1,517 Views

Hi,

i use Ubuntu 16.04.6 LTS (Xenial Xerus),

 

The error in quartuserr.tmp:

Traceback (most recent call last):

 File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main

   "__main__", fname, loader, pkg_name)

 File "/usr/lib/python2.7/runpy.py", line 72, in _run_code

   exec code in run_globals

 File "./tools/packager.pyz/__main__.py", line 28, in <module>

 File "./tools/packager.pyz/packager.py", line 35, in <module>

 File "./tools/packager.pyz/afu.py", line 52, in <module>

 File "./tools/packager.pyz/jsonschema-2.3.0/jsonschema/__init__.py", line 18, in <module>

 File "./tools/packager.pyz/jsonschema-2.3.0/jsonschema/validators.py", line 161, in <module>

 File "./tools/packager.pyz/jsonschema-2.3.0/jsonschema/_utils.py", line 61, in load_schema

IOError: [Errno 20] Not a directory: u'/home/smelz/inteldevstack/a10_gx_pac_ias_1_2_pv/opencl/exm_opencl_hello_world/hello_world/bin/hello_world/build/tools/packager.pyz/jsonschema-2.3.0/jsonschema/schemas/draft3.json'

 

How the script packager.pyz (exm_opencl_hello_world/hello_world/bin/hello_world/build/tools/packager.pyz) is generated?

 

Thanks

Simon

 

0 Kudos
SMelz
Beginner
1,517 Views

sudo apt-get install python-jsonschema

 

and it works.

0 Kudos
KhaiChein_Y_Intel
1,517 Views

Hi gbarc2,

 

What OS you are using? Can you try the suggestion from Simon?

 

Thanks.

0 Kudos
KhaiChein_Y_Intel
1,517 Views
Hi gbarc2, May I know if you have any updates? Thanks
0 Kudos
Akira_S_Intel
Employee
1,517 Views
0 Kudos
SMelz
Beginner
1,395 Views

Hi,

 

since December 2019 (after an ubuntu update)

we have this error:

 

aoc device/hello_world.cl -o bin/hello_world.aocx

aoc: Running OpenCL parser....

aoc: Optimizing and doing static analysis of code...

Compiling for FPGA. This process may take a long time, please be patient.

Error (213009): File name "output_files/afu_fit.green_region.pmsf" does not exist or can't be read

Error: Quartus Prime Convert_programming_file was unsuccessful. 1 error, 0 warnings

Error (23031): Evaluation of Tcl script a10_partial_reconfig/flow.tcl unsuccessful

Error: Quartus Prime Shell was unsuccessful. 7 errors, 3326 warnings

Error: Compiler Error, not able to generate hardware

 

Is there any solution?

 

Thanks

Simon

 

 

0 Kudos
Reply