Just out of curiosity, I also tried not following the official guide, and trying to compile the kernel as I used to be able to compile it. I read in some other forum post that setting a specific value for the QUARTUS_ROOTDIR_OVERRIDE environmental variable and using a specific aoc binary for compilation helped fixing some issues with the compilation process.
Thus, I created a new job submission script for the compilation of the OpenCL kernel, x.sh:
#!/bin/bash
QUARTUS_ROOTDIR_OVERRIDE=/opt/intel/intelFPGA_pro/19.2/quartus /glob/development-tools/versions/oneapi/2022.2/oneapi/compiler/2022.1.0/linux/lib/oclfpga/bin/aoc -board-package=/opt/intel/oneapi/intel_s10sx_pac mykernel.cl -o mykernel.aocx
The job is submitted using the same command:
qsub -l nodes=1:fpga_compile:ppn=2 -d . x.sh
Executing this job produces no error output (stderr), and produces a normal, error-less output (stdout):
########################################################################
# Date: Wed 04 Jan 2023 01:24:22 AM PST
# Job ID: 2114025.v-qsvr-1.aidevcloud
# User: u177524
# Resources: cput=75:00:00,neednodes=1:fpga_compile:ppn=2,nodes=1:fpga_compile:ppn=2,walltime=06:00:00
########################################################################
aoc: Running OpenCL parser....
aoc: OpenCL parser completed
aoc: Linking Object files....
aoc: Optimizing and doing static analysis of code...
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.
########################################################################
# End of output for job 2114025.v-qsvr-1.aidevcloud
# Date: Wed 04 Jan 2023 04:36:10 AM PST
########################################################################
This job does produce a mykernel.aocx binary.
I join a FPGA execution node using the following command:
qsub -I -l nodes=1:fpga_runtime:stratix10:ppn=2 -d .
Which assigns me the node s001-n142. Then I execute the OpenCL program that uses this kernel.
This execution works completely fine. Other times I tested it, it seemed to not work. If I find another of those cases again, I will report it as soon as possible.
However, I am worried that the only way for my program to work/be properly compiled is to not to follow the Job Submission guide for OpenCL FPGA kernels. I do not know if that is intended, or something is wrong regarding OpenCL FPGA kernel compilation.