Forum Discussion

Mdcc_UVa's avatar
Mdcc_UVa
Icon for New Contributor rankNew Contributor
3 years ago
Solved

DevCloud: Cannot compile Stratix 10 kernel (Tcl error)

Hello.

I used to be able to compile my OpenCL kernel targetting Stratix 10 PACs on the DevCloud without any problem. That was before you had to source init_env.sh or any other bash scripts at the beginning of a compilation job.

Now, however, whenever I try to compile the very same kernel for Stratix 10 PACs, the compilation process reports a Tcl error and aborts. It is specially annoying since this usually happens about 1 hour into compilation.

Here is the compilation script, built based on the documentation found here: https://devcloud.intel.com/oneapi/documentation/job-submission/

#/bin/bash

source /glob/development-tools/versions/fpgasupportstack/d5005/2.0.1/inteldevstack/init_env.sh
source /glob/development-tools/versions/fpgasupportstack/d5005/2.0.1/inteldevstack/hld/init_opencl.sh
export FPGA_BBB_CCI_src=/usr/local/intel-fpga-bbb
export PATH=/glob/intel-python/python2/bin:${PATH}

aoc -v -report -march=emulator mykernel.cl -o mykernel_emu.aocx
aoc -v -report -board-package=/glob/development-tools/versions/oneapi/2022.3.1/oneapi/intel_s10sx_pac mykernel.cl -o mykernel.aocx

To compile the kernel, I create the following job:

qsub -l nodes=1:fpga_compile:ppn=2 -d . compile.sh

Here is the stdout of the job:

# For the emulation compilation
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_s10_dc

# For the FPGA binary compilation
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_s10
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 ...
aoc: Checking if memory usage is larger than 100%...
aoc: Memory usage is not above 100.
# Trimmed for presentation purposes
aoc: First stage compilation completed successfully.
Compiling for FPGA. This process may take a long time, please be patient.
Error (23035): Tcl error:
Error (23031): Evaluation of Tcl script build/entry.tcl unsuccessful
Error: Quartus Prime Shell was unsuccessful. 2 errors, 0 warnings

And here is the stderr:

# For the emulation compilation
Error: OpenCL kernel compilation FAILED

# For the FPGA binary compilation
Error: Compiler Error, not able to generate hardware

As you can see, I am doing everything as it is said in the linked documentation. I am using the latest BSP I could find, and the default values for Quartus compilation. I don't even know what Tcl is, let alone how to edit the Tcl scripts.

Can somebody help me understand what is going on?

Thanks.

18 Replies