Forum Discussion

scali's avatar
scali
Icon for New Contributor rankNew Contributor
4 years ago
Solved

cannot run on fpga hardware

Hello,

I've recently noticed that programs previously running on the fpga hardware are no longer working. I've also tried to recompile but I get the same problem.

Here's the message I receive for arria 10 oneAPI.

Error enumerating AFCs: not found
Error enumerating AFCs: not found
Error enumerating AFCs: not found
Error enumerating AFCs: not found
Segmentation fault

Do you have any suggestions?
Thank you for your help.

  • Hi.

    Now it seems to work. I didn't make any change.

9 Replies

  • Hi @scali.,

    Thank you for posting in Intel community forum and hope this message find you well.
    Can you share what command are being executed to compile the design?

    If you are trying to run simulation, please do refer to the related troubleshooting here.
    Please do let us know if that helps.

    Best Wishes
    BB

    • scali's avatar
      scali
      Icon for New Contributor rankNew Contributor

      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

      • Mickleman's avatar
        Mickleman
        Icon for Occasional Contributor rankOccasional Contributor

        I've had exactly the same problem and symptoms for the last few weeks. Programs compiled for FPGA hardware no longer run on fpga nodes. Have you found a solution?

        Thanks

        Marcus

  • scali's avatar
    scali
    Icon for New Contributor rankNew Contributor

    Hi,

    no, I still have the same problem unfortunately.

  • scali's avatar
    scali
    Icon for New Contributor rankNew Contributor

    Hi.

    Now it seems to work. I didn't make any change.

    • Mickleman's avatar
      Mickleman
      Icon for Occasional Contributor rankOccasional Contributor

      Thanks

      You are right. It now works for me again. I think the problem was that the qsub was not choosing nodes correctly. The nodes it chooses now are different and have the FPGA hardware installed.

      Regards

      Marcus

      • adarsh_m's avatar
        adarsh_m
        Icon for New Contributor rankNew Contributor

        hello Is it working fine , I am still getting errors while using Opencl kernel on FPGA it mostly gives segmentation error 139

    • adarsh_m's avatar
      adarsh_m
      Icon for New Contributor rankNew Contributor

      is it working now i am still facing such issues