oneapi-src / oneapi-src/oneAPI-samples

Can't build "fpga_compile" sample for Intel PAC D5005

Open
#1,701 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C++
Stars
1.2k
Forks
745
PR merge metrics
No merged PRs in 30d

Description

Summary

Can't build "fpga_compile" sample for Intel PAC D5005 successfully.

Version

Sample code: branch 2023.0_patch (DirectProgramming/DPC++FPGA/Tutorials/GettingStarted/fpga_compile)
oneAPI: 2023.1.0.46401
Quartus: Quartus-pro-22.4.0.94

Environment

OS: Ubuntu 22.04/Debian 11
HW: Intel PAC D5005

lspci | grep 0b2b
01:00.0 Processing accelerators: Intel Corporation Device 0b2b (rev ff)

Steps to reproduce

source /opt/intel/oneapi/setvars.sh
export QUARTUS_ROOTDIR_OVERRIDE=/opt/intelFPGA_pro/22.4/quartus
mkdir build
cd build
cmake .. -DFPGA_DEVICE=intel_s10sx_pac:pac_s10
make fpga
2 warnings generated.
[100%] Linking CXX executable ../fpga_compile.fpga
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: The board package being used only supports report generation/emulation/runtime, please use the board package shipped in the FPGA addon instead.
Error: Exiting.

llvm-foreach:
icpx: error: fpga compiler command failed with exit code 1 (use -v to see invocation)
make[3]: *** [src/CMakeFiles/fpga_compile.fpga.dir/build.make:97: fpga_compile.fpga] Error 1
make[2]: *** [CMakeFiles/Makefile2:208: src/CMakeFiles/fpga_compile.fpga.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:241: src/CMakeFiles/fpga.dir/rule] Error 2
make: *** [Makefile:189: fpga] Error 2

Observed behavior

I have already looked at this #1350 . If using -DFPGA_DEVICE=agilex, it can be build successfully.
But for PAC D5005, I should use -DFPGA_DEVICE=intel_s10sx_pac:pac_s10 according to the README document. Then the error appears.

Besides, the board package is available.

/opt/intel/oneapi/compiler/2023.1.0/linux/lib/oclfpga/board$ ls
intel_a10gx_pac  intel_s10sx_pac

Expected behavior

FPGA bitstreams generated for target D5005.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in DirectProgramming/DPC++FPGA/Tutorials/GettingStarted/fpga_compile and read its README for the D5005 device configuration. Reproduce the failure with CMake using -DFPGA_DEVICE=intel_s10sx_pac:pac_s10, then inspect the board package and build output. Done means the sample generates an FPGA bitstream for the D5005 without the board-package error.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system, compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.