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

  • hareesh's avatar
    hareesh
    Icon for Frequent Contributor rankFrequent Contributor

    As we do not receive any response from you on the previous question/reply/answer that we have provided. Please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.