Hello and thank you for your reply.
Below you can find the Makefile that I am using to compile and execute.
Makefile
--------------------------------------------------------
TARGET_EMU = fpga_emu
TARGET_HW = fpga_hardware
TARGET_REPORT = fpga_report.a
SRCS = src/template.cpp
OBJS = $(SRCS:.cpp=.o)
ETS = $(SRCS:.cpp=.d)
CXX = dpcpp
CXXFLAGS = -std=c++17
.PHONY: build build_emu build_hw report run_emu run_hw clean run
.DEFAULT_GOAL := build_emu
# Intel-supported FPGA cards
FPGA_DEVICE_A10 = intel_a10gx_pac:pac_a10
FPGA_DEVICE_S10 = intel_s10sx_pac:pac_s10
FPGA_DEVICE = $(FPGA_DEVICE_A10)
# Compile flags
EMULATOR_FLAGS = -fintelfpga -DFPGA_EMULATOR
HARDWARE_FLAGS = -fintelfpga -Xshardware -Xsboard=$(FPGA_DEVICE)
#HARDWARE_FLAGS = -fintelfpga -Xshardware
REPORT_FLAGS = $(HARDWARE_FLAGS) -fsycl-link
# Build for FPGA emulator
build: build_emu
build_emu: $(TARGET_EMU)
$(TARGET_EMU): $(SRCS)
$(CXX) $(CXXFLAGS) $(EMULATOR_FLAGS) -o $@ $^
# Generate FPGA optimization report (without compiling all the way to hardware)
report: $(TARGET_REPORT)
$(TARGET_REPORT): $(SRCS)
$(CXX) $(CXXFLAGS) $(REPORT_FLAGS) -o $@ $^
# Build for FPGA hardware
build_hw: $(TARGET_HW)
$(TARGET_HW): $(SRCS)
$(CXX) $(CXXFLAGS) $(HARDWARE_FLAGS) -fintelfpga -o $@ $^
# Run on the FPGA emulator
run: run_emu
run_emu: $(TARGET_EMU)
./$(TARGET_EMU)
# Run on the FPGA card
run_hw: $(TARGET_HW)
./$(TARGET_HW)
# Clean all
clean:
-$(RM) $(OBJS) $(TARGET_EMU) $(TARGET_HW) $(TARGET_REPORT) *.d
-$(RM) -R *.prj
--------------------------------------------------------------------
Then I use the following commands to compile and execute
1)make build_emu
2)make report
3)make build_hw
4)make run_emu
5)make run_hw
The executables are compiled, but:
if I try to run on the device through 5) I get the following
Makefile:45: recipe for target 'fpga_hardware' failed
if I login to a node with Arria 10 OneAPI and then run the executable through ./fpga_hardware I obtain:
Error enumerating AFCs: not found
Error enumerating AFCs: not found
Error enumerating AFCs: not found
Error enumerating AFCs: not found
Segmentation fault
Do you think I am doing some mistakes?
I do not understand why, but everything was working until about a week ago.
Thanks for you help.
Best regards.
PS: the commands 1), 2) ... 5) are executed through
qsub -l nodes=1:fpga_compile:ppn=2 -d . job1.sh
or
qsub -l nodes=1:fpga_runtime:ppn=2 -d . job2.sh
and the file job.sh look like
#!/bin/bash
cd /home/my_directory
source /opt/intel/inteloneapi/setvars.sh
make run_hw