UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
1,377 Views
Registered: ‎08-04-2017

How to run ZCU102 Standalone

Jump to solution

I have setup and run the DDNDK 2.07 Beta sample designs on the ZCU102.  I followed Figure 4 XILINX ZCU102 evaluation board as closely as possible with the following differences:

  • no See3CAM_CU30 or ZED
  • USB keyboard and USB mouse attached to USB hub connected to the Xilinx USB Adapter
  • No HDMI Source
  • Monitor connected to HDMI Tx
  • Monitor connected via HDMI to DisplayPort cable to ZCU102 DisplayPort
  • no LI-IMX274MIPI-FMC

I am running the samples over serial, since I have been unable to get standalone working on the ZCU102.

 

ResNet-50, Inception-v1, Pose Detection, and Video analysis seem to require access to the display.  I get warnings such as this from ResNet-50:

root@xlnx:/home/linaro/deephi_dnndk_v2.07_beta/ZCU102/samples/resnet50_mt# ./resnet50 4
total image : 1000
[Time]8656929us
[FPS]115.514
root@xlnx:/home/linaro/deephi_dnndk_v2.07_beta/ZCU102/samples/resnet50_mt# cd ../resnet50
root@xlnx:/home/linaro/deephi_dnndk_v2.07_beta/ZCU102/samples/resnet50# ./resnet50

Load image : ILSVRC2012_test_00020475.JPEG

Run ResNet50 CONV layers ...
  DPU CONV Execution time: 17743us
  DPU CONV Performance: 434.538GOPS
Run ResNet50 FC layers ...
  DPU FC Execution time: 509us
  DPU FC Performance: 7.85855GOPS
top[0] prob = 0.991832  name = half track
top[1] prob = 0.006683  name = military uniform
top[2] prob = 0.000549  name = tank, army tank, armored combat vehicle, armoured combat vehicle
top[3] prob = 0.000157  name = tow truck, tow car, wrecker
top[4] prob = 0.000157  name = cannon

(Classification of ResNet50:3358): Gtk-WARNING **: cannot open display:

I think this is because I am not running in standalone, but I am not sure.  How do I get the display and/or standalone working?

 

0 Kudos
1 Solution

Accepted Solutions
Explorer
Explorer
1,349 Views
Registered: ‎10-24-2008

Re: How to run ZCU102 Standalone

Jump to solution

@jchang_endiag  In my experience, the ZCU102 DisplayPort output is only compatible with DisplayPort to HDMI adapters if you leverage an active (not passive) adapter.  The versions of the DNNDK-based demos that I have used have all leveraged DisplayPort for the video output interface.  Do you have a true DP monitor or projector that you can try? 

 

Another question that may be significant here relates to the board revision that you are using.  Can you confirm whether your board is Rev D, Rev 1, 1.1, as well as the silicon revision (ie production, ES2, ES1)?

 

One of my counterparts ran the 2.07 release of the DeePhi DNNDK headless (no monitor) on the ZCU104 board.  He was able to SSH into the 104 board and used X forwarding:

 

On the server side (ZCU10X) you need to make sure that X11 port forwarding is enabled:

#> vi /etc/ssh/sshd_config

 

Line 89 shows that it’s on for the ZCU104 DNNDK BSP.

 

On the client side (Linux VM) you also need use the –X (capital x) with ssh to enable X11 forwarding

#> ssh –X root@192.168.2.104

 

The IP above is what I have the ZCU104 set as, you will probably need to use the ifconfig eth0 command on the board to see/change the IP address. 

 

Once logged into the ZCU104 he was able to build the resnet50 sample and observed the test set images flash by on his VM.  When using X11 forwarding instead of DP, is you will find that the video feed has significant lag (~10s of seconds).

 

Hopefully this is helpful....let us know.

 

--Quenton

14 Replies
Explorer
Explorer
1,350 Views
Registered: ‎10-24-2008

Re: How to run ZCU102 Standalone

Jump to solution

@jchang_endiag  In my experience, the ZCU102 DisplayPort output is only compatible with DisplayPort to HDMI adapters if you leverage an active (not passive) adapter.  The versions of the DNNDK-based demos that I have used have all leveraged DisplayPort for the video output interface.  Do you have a true DP monitor or projector that you can try? 

 

Another question that may be significant here relates to the board revision that you are using.  Can you confirm whether your board is Rev D, Rev 1, 1.1, as well as the silicon revision (ie production, ES2, ES1)?

 

One of my counterparts ran the 2.07 release of the DeePhi DNNDK headless (no monitor) on the ZCU104 board.  He was able to SSH into the 104 board and used X forwarding:

 

On the server side (ZCU10X) you need to make sure that X11 port forwarding is enabled:

#> vi /etc/ssh/sshd_config

 

Line 89 shows that it’s on for the ZCU104 DNNDK BSP.

 

On the client side (Linux VM) you also need use the –X (capital x) with ssh to enable X11 forwarding

#> ssh –X root@192.168.2.104

 

The IP above is what I have the ZCU104 set as, you will probably need to use the ifconfig eth0 command on the board to see/change the IP address. 

 

Once logged into the ZCU104 he was able to build the resnet50 sample and observed the test set images flash by on his VM.  When using X11 forwarding instead of DP, is you will find that the video feed has significant lag (~10s of seconds).

 

Hopefully this is helpful....let us know.

 

--Quenton

Adventurer
Adventurer
1,340 Views
Registered: ‎08-04-2017

Re: How to run ZCU102 Standalone

Jump to solution

@qhall, thanks for the suggestions.

 

I am not sure if the DisplayPort to HDMI adapter is active or passive, but I suspect it is passive.  While I have a DisplayPort monitor, I do not have the cable ATM, so I am unable to try that today.

 

I think the board is Rev 1.1.1.  The last 1 is written in marker and is so slanted it is more horizontal than vertical, so I'm a little unsure.

 

The headless X11 forwarding through ssh works!  Thanks!

0 Kudos
Explorer
Explorer
1,323 Views
Registered: ‎10-24-2008

Re: How to run ZCU102 Standalone

Jump to solution

@jchang_endiag  Excellent news!  I can't take credit for the X11 forwarding, but I will pass the news along that this was helpful.  There should be no issue using the DP Tx on Rev 1.1 board related to these demos.

 

--Quenton

0 Kudos
Adventurer
Adventurer
1,309 Views
Registered: ‎08-04-2017

Re: How to run ZCU102 Standalone

Jump to solution

@qhall, I was able to try out DisplayPort.  As you stated, there was no problem using DP Tx.

 

However, the USB keyboard and mouse did not come up with the default jumper settings (OTG?) of the ZCU102.  For posterity, following Zynq UltraScale+ MPSoC ZCU102 Evaluation Kit - Jumper settings to support USB 3.0 HOST mode got the USB input devices working.

 

Also, I did not notice any lag w/ X11, which is good, though I am not sure why it is different than your counterpart's experience.

0 Kudos
Explorer
Explorer
1,298 Views
Registered: ‎10-24-2008

Re: How to run ZCU102 Standalone

Jump to solution

@jchang_endiagI suspect that the difference would have been than my counterpart was running the DenseBox face detection demo via X11, so the expectations would have been different.

0 Kudos
Observer charlesxu
Observer
1,004 Views
Registered: ‎02-14-2011

Re: How to run ZCU102 Standalone

Jump to solution

Hi, I was not run the command "export DISPLAY"; just run ./resnet_50, then I can see the result on the screen.

Xilinx Dfae
Comtech Nanjing 徐一鸣
0 Kudos
Adventurer
Adventurer
814 Views
Registered: ‎08-04-2017

Re: How to run ZCU102 Standalone

Jump to solution

@qhall, I noticed significant lag when accessing the Ultra96 over Ethernet/ssh.  It may be because the Ultra96 does not have wired Ethernet, so the network connection was over Wi-Fi, so perhaps that was the reason for the lag?

@charlesxu, running "export DISPLAY" is not required for running Standalone with an attached monitor.  It is only required when connecting over Ethernet to the evaluation board where there is no attached monitor in order to displaying images.

0 Kudos
Highlighted
Explorer
Explorer
790 Views
Registered: ‎10-24-2008

Re: How to run ZCU102 Standalone

Jump to solution

@jchang_endiag Great question...the WiFi may be responsible, but I am not certain.  Is the latency observed in the context of running one of the inference demo applications (for instance the face detection demo), during file transfers, or is this more of a general observation related to all ssh accesses?  If you had to quantify the performance difference, what would you suggest the difference is?  Both the Ultra96 and ZCU102 leverage the quad-core A53.  The Ultra96 does have a 32-bit LPDDR4 interface versus the ZCU102 which supports a 64-bit wide DDR4 interface for the PS.  Memory BW could impact display performance during inference operations, but I would be surprised if this were a bottleneck for general operations such as file transfers.

--Quenton

 

0 Kudos
Adventurer
Adventurer
782 Views
Registered: ‎08-04-2017

Re: How to run ZCU102 Standalone

Jump to solution

@qhall, I only ran the resnet50 demo on the Ultra96 over Ethernet (Wi-Fi) since it was so slow and then switched to Standalone.  IIRC, the measured times for inference on each image was in the 10s of milliseconds, but it would take a couple of seconds for the image to update.  Note that the slow image update occurs with both MobaXterm on Windows and ssh on Ubuntu 16.04 LTS.  However, if I run Standalone, there are multiple image updates within a second.  So while the Ultra96's lower memory bandwidth could make it slower than the ZCU102, I don't think it is causing this much of a slowdown since it is still much faster in Standalone vs over Ethernet (Wi-Fi).

I think in general SSH over Wi-Fi seems slower, as the echoed characters when I type seem to show up with some lag vs seeming instantaneous over a wired connection on a ZCU102.  File transfer also seems a bit slow, but I did not try over a wired connection on a ZCU102 for comparison.

0 Kudos
Explorer
Explorer
711 Views
Registered: ‎10-24-2008

Re: How to run ZCU102 Standalone

Jump to solution

@jchang_endiagTagging @aluo and @shu.ai_zh on this post so that they are aware of this feedback.  It is not clear to me whether this is a real problem or simply a limitation of the Ultra96, but it seems critical that we pass this information along.

Thanks for your fantastic feedback as always!

--Quenton

0 Kudos
Participant liangxinyu86
Participant
446 Views
Registered: ‎05-16-2014

Re: How to run ZCU102 Standalone

Jump to solution

Hi,I want to know  Why  we need   using X11 forwarding instead of DP?   What shoule we do if  I  want  to show the video through DP  on the screen of ZCU104.

0 Kudos
Participant liangxinyu86
Participant
415 Views
Registered: ‎05-16-2014

Re: How to run ZCU102 Standalone

Jump to solution

Hi,How should I modify the project?if I donnot want to  use the X11 forwarding because I using a linux desktop system.

  • Even though I have canceled  the SSH , but  the image of face_detect   not show on the desktop system.

0 Kudos
Adventurer
Adventurer
405 Views
Registered: ‎08-04-2017

Re: How to run ZCU102 Standalone

Jump to solution

If you have DisplayPort (DP) working, then you do not need to use X11 forwarding.  Quenton suggested I used X11 forwarding because I did not have a DisplayPort monitor to connect to the ZCU102 so that was not an option for me.

If you have a DisplayPort monitor connected, then open a terminal in the Linux running on the DisplayPort monitor and run the samples from there.  The display configuration is already setup to work with the DisplayPort monitor by default, so no additional configuration is needed.

Explorer
Explorer
401 Views
Registered: ‎10-24-2008

Re: How to run ZCU102 Standalone

Jump to solution

@jchang_endiag @liangxinyu86 Correct!  For general use, I can suggest two possible options:

[1] You can connect a keyboard and mouse to the ZCU104. On the ZCU104, run the terminal application and from that terminal, call the resnet application (./resnet50). The display will be detected.

[2] You can continue to leverage your remote terminal instance from your PC, but issue the command to export the display for that terminal. From the terminal on your PC, prior to running the resnet executable, issue this command: export DISPLAY=:0.0 

--Quenton

0 Kudos