Forum Discussion

HKim27's avatar
HKim27
Icon for Occasional Contributor rankOccasional Contributor
7 years ago

PAC Arria 10 GX, reconfiguration not working on 1.2PV

Hi, all.

I'm using a pac_a10 board and recently upgraded it to 1.2 production version.

Since then, reprogramming (partial reconfiguration) is not working.

Scenario here:

  1. I programmed the device with hello_world example.
aocl program acl0 $OPAE_PLATFORM_ROOT/opencl/hello_world.aocx
  1. I ran vector_add example.
cd exm_opencl_vector_add_x64_linux/vector_add
make
cp $OPAE_PLATFORM_ROOT/opencl/vector_add.aocx bin
./bin/host
  1. What I expect is, although the device is programmed with hello_world.aocx, it will be reprogrammed with vector_add.aocx and run smoothly, like the following sample output from https://www.intel.com/content/altera-www/global/en_us/index/documentation/fvf1521490619217.html#nms1523294913946
Initializing OpenCL
Platform: Intel(R) FPGA SDK for OpenCL(TM)
Using 1 device(s)
  pac_a10 : PAC Arria 10 Platform (pac_a10_f200000)
Using AOCX: vector_add.aocx
Reprogramming device [0] with handle 1
Launching for device 0 (1000000 elements)
 
Time: 8.046 ms
Kernel time (device 0): 3.711 ms
 
Verification: PASS

Instead, however, it fails with the following error.

Initializing OpenCL
Platform: Intel(R) FPGA SDK for OpenCL(TM)
Using 1 device(s)
  pac_a10 : PAC Arria 10 Platform (pac_a10_eb00000)
Using AOCX: vector_add.aocx
Context callback: Specified kernel was not built for any devices
ERROR: CL_INVALID_KERNEL_NAME 
Location: host/src/main.cpp:169
Failed to create kernel
Segmentation fault (core dumped)
  1. If I program the device with vector_add.aocx and run vector_add example, it runs well. So, my guess is that reprogramming is not working.

Anybody has some idea on this?

7 Replies

  • Nooraini_Y_Intel's avatar
    Nooraini_Y_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    Hi,

    Currently I am reviewing the forum for any open questions and found this thread. I apologize that no one seems to answer this question that you posted. Since it has been a while you posted this question, I'm wondering if you have found the answer? If not, please let me know, I will try to assign/find someone to assist you. Thank you.

    Regards,

    Nooraini

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

    @NYusof

    Thank you for your attention.

    I have not found the answer yet, so assist will be great. :)

  • JonWay_altera's avatar
    JonWay_altera
    Icon for Frequent Contributor rankFrequent Contributor

    Hi @HKim27

    Do you mean you configured the FPGA with hello_world.aocx, and then run the vector_add example (WITHOUT performing aocl program <device> vector_add.aocx)?

  • JonWay_altera's avatar
    JonWay_altera
    Icon for Frequent Contributor rankFrequent Contributor

    Hi @HKim27

    Sorry i missed your reply. Thank you for following up.

    Could you run the below steps:

    Could you reboot your system?

    Source init_env.sh

    aocl install

    program a hello_world.aocx to initialize the board

    aocl diagnose (it should show the status as "Passed")

    Then go back to performing: https://www.intel.com/content/altera-www/global/en_us/index/documentation/fvf1521490619217.html#nms1523294913946

    make sure you have copied the vector_add.aocx into the "bin" folder

    cp $OPAE_PLATFORM_ROOT/opencl/vector_add.aocx ./bin

    Also, check if you have set your hugepages.

    If this still fails, please confirm you meet the system requirement: https://www.intel.com/content/www/us/en/programmable/documentation/iyu1522005567196.html#oeh1528996494398

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

      @JwChin

      I finally found the solution. (after 8 month!!!)

      Initialization script inside Intel Acceleration Stack Version 1.2 (inteldevstack/init_env.sh) has this line:

      export CL_CONTEXT_COMPILER_MODE_INTELFPGA=3

      According to the documentation, this environment variable prevent reconfiguration during OpenCL host execution.

      By unsetting this, reconfiguration works well.