Application Acceleration With FPGAs
Programmable Acceleration Cards (PACs), DCP, FPGA AI Suite, Software Stack, and Reference Designs
477 Discussions

Unable to synthesis FPGA executable using DPC++

AbenezerWudenhe
Beginner
1,376 Views

Hello,

I am attepting to synthesis a FPGA execuitble for convolution using the A10 OneAPI FPGA Node/
It seems that I am unable to synthesis this project at it's current size.
I have tried emulation with a smaller parameters and that is able to work.

I use the following commands to compile to FPGA
```bash
dpcpp oneapi-target-5-run.cpp -lz -lpthread -ldl -fintelfpga -fsycl -fsycl-device-code-split=off -DFPGA -Xshardware -Xsboard=intel_a10gx_pac:pac_a10 -o ./test.fpga
```

I have included the source files needed to build the FPGA executible using DPC++ for convolution.
Any help would be appriciated. Thank you


I submitted my bash script job with the following comand and outputs
```bash
########################################################################
### Submitted batch.sh command
########################################################################

devcloud_login -b A10OAPI walltime=12:00:00 batch.sh

########################################################################
### batch.sh.o
########################################################################


########################################################################
# Date: Mon Jan 31 17:29:28 PST 2022
# Job ID: 1843614.v-qsvr-1.aidevcloud
# User: u128916
# Resources: neednodes=s001-n090:ppn=2,nodes=s001-n090:ppn=2,walltime=12:00:00
########################################################################

aoc: Warning RAM Utilization is at 171%!
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 oneAPI FPGA Optimization Guide for information on performance tuning applications for FPGAs.
Error (20264): Placement failed to find a legal solution due to row legality failure.
Error (170077): Cannot place the following nodes
Error (170077): Cannot place the following nodes
Error (23035): Tcl error:
Error (23031): Evaluation of Tcl script compile_script.tcl unsuccessful
Error: Quartus Prime Shell was unsuccessful. 2 errors, 0 warnings
Error (23035): Tcl error:
Error (23031): Evaluation of Tcl script build/entry.tcl unsuccessful
Error: Quartus Prime Shell was unsuccessful. 2 errors, 0 warnings

########################################################################
# End of output for job 1843614.v-qsvr-1.aidevcloud
# Date: Mon Jan 31 20:32:55 PST 2022
########################################################################

########################################################################
### batch.sh.e
########################################################################

In file included from oneapi-target-5-run.cpp:33:
./conv.generated_oneapi_header.h:67:41: warning: comparison with NaN always evaluates to false in fast floating point modes [-Wtautological-constant-compare]
inline bool is_nan_f32(float x) {return isnan(x);}
^~~~~~~~
./conv.generated_oneapi_header.h:68:42: warning: comparison with NaN always evaluates to false in fast floating point modes [-Wtautological-constant-compare]
inline bool is_nan_f64(double x) {return isnan(x);}
^~~~~~~~
./conv.generated_oneapi_header.h:69:41: warning: comparison with infinity always evaluates to false in fast floating point modes [-Wtautological-constant-compare]
inline bool is_inf_f32(float x) {return isinf(x);}
^~~~~~~~
./conv.generated_oneapi_header.h:70:42: warning: comparison with infinity always evaluates to false in fast floating point modes [-Wtautological-constant-compare]
inline bool is_inf_f64(double x) {return isinf(x);}
^~~~~~~~
4 warnings generated.
For more details, full Quartus compile output can be found in files quartuserr.tmp and quartus_sh_compile.log.
Error: Compiler Error, not able to generate hardware

llvm-foreach:
dpcpp: error: fpga compiler command failed with exit code 1 (use -v to see invocation)

```

 

0 Kudos
7 Replies
BoonBengT_Intel
Moderator
1,342 Views

Hi @AbenezerWudenhe,

 

Thank you for posting in Intel community forum and hope all is well.
My guess is there seems to be some issues with the node mention (i.e. s001-n090) as status are down/offline, hence the failure.
Would suggest to submit a command to specifically target a particular working node to see if that helps, example command as below:
- qsub -q batch@v-qsvr-fpga -l nodes=s001-n081:ppn=2 -d . job.s

 

Please do let us know if that helps.
Best Wishes
BB

0 Kudos
AbenezerWudenhe
Beginner
1,324 Views

Hello BB,

 

No I have not tried this method, thank you for the suggestion. I have been using the simple command below

 

devcloud_login -b A10OAPI (walltime=12:00:00) batch.sh

 

 I will try using your method and report back.

 

Just to note for anyone else who may be having a similar issue, I found that using the sycl-ls command for OneAPI A10 Nodes differs from node to node, and working ones will typically be able to show more devices in general. I am not sure what to make of this but found it interesting.

 

# Inside A10 ONEAPI Node Where test FPGA synthesis worked
$ sycl-ls
[opencl:0] ACC : Intel(R) FPGA Emulation Platform for OpenCL(TM) 1.2 [2021.13.11.0.23_160000]
[opencl:0] ACC : Intel(R) FPGA SDK for OpenCL(TM) 1.0 [2022.1]
[opencl:1] ACC : Intel(R) FPGA SDK for OpenCL(TM) 1.0 [2022.1]
[opencl:0] CPU : Intel(R) OpenCL 3.0 [2021.13.11.0.23_160000]
[host:0] HOST: SYCL host platform 1.2 [1.2]

# Inside A10 ONEAPI Node Where test FPGA synthesis failed
$ sycl-ls
[opencl:0] ACC : Intel(R) FPGA Emulation Platform for OpenCL(TM) 1.2 [2021.13.11.0.23_160000]
[opencl:0] CPU : Intel(R) OpenCL 3.0 [2021.13.11.0.23_160000]
[host:0] HOST: SYCL host platform 1.2 [1.2]

 

 

0 Kudos
BoonBengT_Intel
Moderator
1,300 Views

Hi @AbenezerWudenhe,

 

Good day, noted on the command and appreciate the sharing on the nodes.
Just checking in to see if there is any further doubts in regards to this matter.
Hope we have clarify your doubts.

Best Wishes
BB

0 Kudos
AbenezerWudenhe
Beginner
1,292 Views

Hello,

 

Thank you for following up.

Using different qsub methods lead to different results as shown below.

# Unable to submit with the following command
# recieve the following error from
qsub -q batch@v-qsvr-fpga -l nodes=s001-n085:ppn=2 -d . ./batch_10.test_gemm.sh
# qsub: submit error (Job exceeds queue resource limits MSG=cannot locate feasible nodes (nodes file is empty, all systems are busy, or no nodes have the requested feature))

# Submits but does not synthesise A10 ONEAPI FPGA
# recieve the following error 
qsub -l nodes=arria10:ppn=2 -d . ./batch_10.test_gemm.sh
# quartus_sh: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
# aoc: Quartus is not on the path!
# aoc: Is Intel(R) Quartus(R) Prime software installed on your system and quartus bin directory added to PATH environment variable?
# llvm-foreach: 
# dpcpp: error: fpga compiler command failed with exit code 1 (use -v to see invocation)

 

I also believe that the issue may be with the layout and not the node itself, due to the error message from the original post i.e.

Error (170077): Cannot place the following nodes
Error (170077): Cannot place the following nodes

 

0 Kudos
BoonBengT_Intel
Moderator
1,270 Views

Hi @AbenezerWudenhe,
The first qsub mention which are tyring on the node 's001-n085' which is offline, hence suspected the error seen. (i.e. you can check on the nodes availabilities by the command 'pbsnodes')

 

The second qsub seems to be routed to some invalid nodes as well, would suggest to check on the nodes per the list.
Quick check did you managed to check on the mention qsub above, is there any error?
Hope to hear from you soon.

 

Best Wishes
BB

0 Kudos
BoonBengT_Intel
Moderator
1,252 Views

Hi @AbenezerWudenhe,

Good day, just checking in to see if there is any further doubts in regards to this matter.
Hope we have clarify your doubts.

Best Wishes
BB

0 Kudos
BoonBengT_Intel
Moderator
1,236 Views

Hi @AbenezerWudenhe,

Greetings, as we do not receive any further clarification on what is provided, we would assume challenge are resolved. Hence thread will no longer be monitored. For new queries, please feel free to open a new thread and we will be right with you. Pleasure having you here.

Best Wishes
BB

0 Kudos
Reply