Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

Error when programming Intel PAC with OpenVino bitstreams

Mohamedou__Ahmed
Beginner
2,171 Views

I have Intel PAC with the latest FIM version. Running 

sudo fpgainfo fme


shows:

 

FW version 26889

Pr Interface Id: 69528db6-eb31-577a-8c36-68f9faa081f6

 

I have succefully programmed it with hello world bitstream. When I tried to program it with bitstreams provided with OpenVino as follow:

 

aocl program acl0 /opt/intel/computer_vision_sdk_fpga_2018.5.445/bitstreams/a10_dcp_bitstreams/5-0_RC_FP16_ResNet_ELU.aocx


This error keeps showing:

 

aocl program: Running program from /home/centos/inteldevstack/a10_gx_pac_ias_1_2_pv/opencl/opencl_bsp/linux64/libexec

libopae-c bitstream.c:387:validate_bitstream_metadata() **ERROR** : Interface ID check failed

Error writing bitstream to FPGA: invalid parameter

Error programming device

aocl program: Program failed.

 

How to resolve this error?

Thanks

0 Kudos
21 Replies
Gdeep
Beginner
1,928 Views

Dear ahmed 

I have also the same Hardware which you are using: 'Intel® Programmable Acceleration Card with Intel® Arria® 10 GX FPGA'

My software configuration is ubuntu 16.04 (LTS) with kernel version 4.14.20-041420-generic

To setup Intel® Programmable Acceleration Card with Intel® Arria® 10 GX FPGA' i am following the steps which they mentioned in this link -> https://software.intel.com/en-us/articles/OpenVINO-Install-Linux-FPGA

I have skipped first two steps mentioned below:

1 Configure the Intel® Arria® 10 GX FPGA Development Kit

2 Program the Intel® Arria® 10 GX FPGA Development Kit

I have begun from step number 3 that is the installation of openvino, the problem is here:- 

When i ran:->  aocl  diagnose

My output for the above command was:-

root@iwave:/home/iwave/Downloads/fpga_support_files# aocl diagnose
--------------------------------------------------------------------
Warning:
No devices attached for package:
/opt/altera/aocl-pro-rte/aclrte-linux64/board/hddlf_1150_sg1
--------------------------------------------------------------------

Call "aocl diagnose <device-names>" to run diagnose for specified devices
Call "aocl diagnose all" to run diagnose for all devices
root@iwave:/home/iwave/Downloads/fpga_support_files#

please guide me to sort out this error, which steps you followed to configured 'Intel® Programmable Acceleration Card with Intel® Arria® 10 GX' ? had you followed same steps or some extra work we have to do? 

0 Kudos
Mohamedou__Ahmed
Beginner
1,928 Views

Dear Gagan,

I am not sure if you are using PAC or DevKit.

In case, you are using DevKit, it seems that your development kit is not initialized yet. You need the firs two steps if your development kit is not programmed yet. You need to program your development kit so that it can understand OpenCL for FPGA. Also, you need to physically install the DDR4 memory (be very careful so that you don't damage your kit when removing fans and watch out for electrostatic discharge). Follow this link steps:

https://www.intel.com/content/www/us/en/programmable/documentation/tgy1490191698959.html?-1926199859.1534783437

In case you are using PAC, make sure you have installed the OpenCl driver by running:

sudo -E aocl install

when asked about BSP, answer yes. Check this link:

https://www.intel.com/content/www/us/en/programmable/documentation/fvf1521490619217.html

Note that my host OS is CentOS 7.4. The support for Debian based OS (i.e. Ubuntu) is introduced recently. The issue may lie there.

Good Luck

0 Kudos
Gdeep
Beginner
1,928 Views

Dear ahmed 

Thanx for the replay

I am using PAC, and I have done opencl driver installation followed by the link which you was shared, can you tell me what are the next steps for setup PAC FPGA with openvino? 

0 Kudos
Mohamedou__Ahmed
Beginner
1,928 Views

Dear Gagan,

You mentioned this warning:

--------------------------------------------------------------------
Warning:
No devices attached for package:
/opt/altera/aocl-pro-rte/aclrte-linux64/board/hddlf_1150_sg1
--------------------------------------------------------------------

It seems that you are trying to use hddlf_1150_sg1 board. However, PAC is GX.

In my setup, I don't use opencl rte which comes with openvino. I use the one comes with intel acceleration stack for development:

https://www.intel.com/content/www/us/en/programmable/solutions/acceleration-hub/downloads.html

I source the necessary environment variables as follow:

source /home/centos/inteldevstack/init_env.sh
source /home/centos/inteldevstack/intelFPGA_pro/hld/init_opencl.sh

Also, I needed to run the following script once and reboot:

/home/centos/inteldevstack/a10_gx_pac_ias_1_2_pv/opencl/opencl_bsp/linux64/libexec/setup_permissions.sh

I hope this helps with your troubleshooting.

0 Kudos
Gdeep
Beginner
1,928 Views

Dear Ahmed

Thanx for you guidelines it really help-full for me.

So according to you Before the installation of openvino, I have to configured the PAC ARRIA 10 by using the link -> https://www.intel.com/content/www/us/en/programmable/documentation/iyu1522005567196.html

Can you tell me how long i have to followed the tutorial which link mentioned above,

My second doubt is :-

From link -> https://software.intel.com/en-us/articles/OpenVINO-Install-Linux-FPGA

Which steps we need to follow from above mentioned link to step up Intel PAC arria 10 with openvino ?

and my last doubt is :-

If we need to follow the step number 5 which is 'Complete Intel® Arria® 10 FPGA Setup' from ->https://software.intel.com/en-us/articles/OpenVINO-Install-Linux-FPGA

Then at the end when we ran command -> aocl install 

It will ask 'Please specify a board package root to install:' They are asking about which board package?

Ones again thanx alot for your help

0 Kudos
Gdeep
Beginner
1,928 Views

..

0 Kudos
Gdeep
Beginner
1,928 Views

Dear Ahmed

I followed the steps those are mentioned in the link -> https://www.intel.com/content/www/us/en/programmable/documentation/iyu1522005567196.html ; and i done steps upto '(Optional) Building and Installing the OPAE Software from Source Code' now my output is like:-

iwave@iwave:/dev$ sudo fpgainfo fme
Board Management Controller, microcontroller FW version unavailable
Last Power Down Cause: unavailable
Last Reset Cause: unavailable (can't open)
//****** FME ******//
Object Id                     : 0xF400000
PCIe s:b:d:f                  : 0000:01:00:0
Device Id                     : 0x09C4
Socket Id                     : 0x00
Ports Num                     : 01
Bitstream Id                  : 0x113000200000177
Bitstream Version             : 0x746E692F00030101
Pr Interface Id               : 9926ab6d-6c92-5a68-aabc-a7d84c545738
iwave@iwave:/dev$ aocl diagnose
---------------------------------------------------------
-----------
Device Name:
acl0

Package Pat:
/home/iwave/intelrtestack/a10_gx_pac_ias_1_2_pv/opencl/opencl_bsp

Vendor: Intel Corp

Physical Dev Name   Status            Information

pac_a10_f300000     Uninitialized     OpenCL BSP not loaded. Must load BSP using command:
                                      'aocl program <device_name> <aocx_file>'
                                      before running OpenCL programs using this device

DIAGNOSTIC_PASSED
--------------------------------------------------------------------

Call "aocl diagnose <device-names>" to run diagnose for specified devices
Call "aocl diagnose all" to run diagnose for all devices
iwave@iwave:/dev$ aocl list-devices
--------------------------------------------------------------------
Device Name:
acl0

Package Pat:
/home/iwave/intelrtestack/a10_gx_pac_ias_1_2_pv/opencl/opencl_bsp

Vendor: Intel Corp

Physical Dev Name   Status            Information

pac_a10_f300000     Uninitialized     OpenCL BSP not loaded. Must load BSP using command:
                                      'aocl program <device_name> <aocx_file>'
                                      before running OpenCL programs using this device

DIAGNOSTIC_PASSED
--------------------------------------------------------------------

I did not complete further steps form 'Updating FPGA Flash and BMC Firmware' This step include to download bittwords toolkit for updating firmware , I want to ask you we need this toolkit for updating firmware or up-to where we have to follow this tutorial -> https://www.intel.com/content/www/us/en/programmable/documentation/iyu1522005567196.html

Thanx for your support

0 Kudos
Mohamedou__Ahmed
Beginner
1,928 Views

Great. You have done it.

Now, you need to program the FPGA with the desired bitstream. For testing, you can try HelloWorld bitstream:

aocl program acl0 $OPAE_PLATFORM_ROOT/opencl/hello_world.aocx

Check:

https://www.intel.com/content/www/us/en/programmable/documentation/fvf1521490619217.html#zru1523293789016

0 Kudos
Gdeep
Beginner
1,928 Views

Dear Ahmed

Again thanx for quick replay

I set the all necessary environment as you mentioned above and

when i try to run -> sudo -E  aocl install

iwave@iwave:~$ sudo -E aocl install
[sudo] password for iwave:
Sorry, try again.
[sudo] password for iwave:
aocl: command not found
iwave@iwave:~$

I am getting this error and another problem is :-

iwave@iwave:/dev$ sudo fpgainfo fme
Board Management Controller, microcontroller FW version unavailable
Last Power Down Cause: unavailable
Last Reset Cause: unavailable (can't open)
//****** FME ******//
Object Id                     : 0xF400000
PCIe s:b:d:f                  : 0000:01:00:0
Device Id                     : 0x09C4
Socket Id                     : 0x00
Ports Num                     : 01
Bitstream Id                  : 0x113000200000177
Bitstream Version             : 0x746E692F00030101
Pr Interface Id               : 9926ab6d-6c92-5a68-aabc-a7d84c545738

As you can see my firmware are not updated because I skipped ' Identifying and Updating the FIM ' this topic mentioned in the link -> https://www.intel.com/content/altera-www/global/en_us/index/documentation/iyu1522005567196.html#bmo1522434059657

I want to ask you, have you used bittwords toolkit to update your FIM ?? if no then how you updated your FIM version???

 

0 Kudos
Mohamedou__Ahmed
Beginner
1,928 Views

"aocl: command not found" means that aocl is not in your PATH for sudo user. Either add its location to the PATH or run the command with the full path of aocl like this:

sudo -E /home/centos/inteldevstack/intelFPGA_pro/hld/bin/aocl install

To update the firmware, you need BittWare tools. They will provide it upon request.

0 Kudos
Gdeep
Beginner
1,928 Views

Ok, I request for the bittWare tool, Thanx for your valuable support, anyway can you able to execute openvino samples with FPGA support??

and I have gone through with Intel PAC with arria10 datasheet link for the datasheet is -> https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ds/ds-pac-a10.pdf 

In this document they are mentioned 'system compatibility'   'DEll R740, R640 server ' and intel xeon processor

Can you tell me which processor you are using? 

can we need any Intel Xeon CPU to work with intel PAC with openvino

My system configuration is Intel i5 processor with ubuntu 16.04 O.S which I am using now

0 Kudos
Mohamedou__Ahmed
Beginner
1,928 Views

Unfortunately, I was not able to program Intel PAC with openvino bitstreams. This is why I created this topic.

I am using Dell R740 with Xeon Gold. However, I think compatibility should be a concern only if you are using Intel OPAE. I am not sure to be honest. But I don't think OpenCL driver is dependent on OPAE driver. Check this documentation for more information:

https://opae.github.io/1.2.0/docs/fpga_api/quick_start/readme.html#installing-the-opae-intel-fpga-drivers

0 Kudos
Gdeep
Beginner
1,928 Views

Fortunately, I have configured Intel PAC card for openvino and I executed some program samples of openvino with FPGA support, I shared one link to you please ones go-through with it.

https://software.intel.com/sites/default/files/managed/8b/f2/Install%20OpenVINO%20FPGA%202018R3%20PAC.pdf

Let me know if you have any doubt 

0 Kudos
Mohamedou__Ahmed
Beginner
1,928 Views

Dear Gagan,

Advice: Keep your FIM version at 9926ab6d-6c92-5a68-aabc-a7d84c545738

It seems that OpenVino bitstreams are built for this version. I had to downgrade from the latest one.

0 Kudos
mahinlma
New Contributor I
1,928 Views

Dear Ahmed,

I'm also facing same issue.

Installed old version a10_gx_pac_ias_1_1_pv_rte_installer. but  FIM version  not getting updated.

Please help me to solve this once you done.

Thanks

0 Kudos
mahinlma
New Contributor I
1,928 Views

Thanks to Ahmed and Gagan for the solution.

0 Kudos
mahinlma
New Contributor I
1,928 Views

getting 

Error opening AFC: resource busy

after downgrading

0 Kudos
mahinlma
New Contributor I
1,928 Views
0 Kudos
Gdeep
Beginner
1,928 Views

Dear Ahmed

I have done FPGA configuration for Open-vino toolkit and I have run all Inference samples (Face detection, age detection etc..) by using pre-compiled bitstreams. My question is:-

Do you know how to generate bitstreams (.aocx) for our custom object model or How to generate bitstreams by own self for the specific pre-trained model?

0 Kudos
Mohamedou__Ahmed
Beginner
1,637 Views

@Maheshwari

Maybe, it is a permission issue. Please, check this:

https://www.intel.com/content/www/us/en/programmable/documentation/iyu1522005567196.html#shr1535401599117

 

@Gagan

To best of my knowledge, there is no direct way to convert pre-trained models to bitstreams. Usually, FPGAs are very constrained in term of resources (i.e. logic elements, DSP, memory ...). Most of practical deep learning models (practical in term of accuracy) are very large. Hence, you need to design FPGA hardware (create bitstreams) in way that overcome these constraints while deliver high performance. You will need to implement deep learning ops such as 2D convolution at the hardware level. It is not a trivial task. Please, check:

https://www.intel.com/content/www/us/en/programmable/documentation/mwh1391807965224.html   ;

0 Kudos
Reply