cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Participant
Participant
1,029 Views
Registered: ‎09-11-2018

DPU command APIs Usage

@qhall 

I have float.prototxt and float.caffemodel model for my network. I have passed these two arguments to the decent tool. It generated deploy.prototxt and deploy.caffemodel. Then I passed the output of decent to dnnc tool. To get the executable to run it on the board. I got one executable file which will be running on DPU kernel. Thus the sample code provided for resnet has code to run two executable running on DPU kernel. Here is my doubt how could I able to generate a code executable for one elf file. I tried to modify the existing code but i got error like [DNNDK] DPU timeout while execute DPU Task [customnet_0-1] of Node [conv1]. Can you please help me in solving this issue.

12 Replies
Highlighted
Explorer
Explorer
1,000 Views
Registered: ‎10-24-2008

guru@ignitarium

Are you specifically deploying ResNet or a different network?  Depending on the DPU version, ResNet will compile as either one kernel or two kernels.  In the two kernel paradigm (ZCU102), AVG POOL and SOFTMAX are deployed on the CPU, and in the one kernel paradigm (Ultra96) only SOFTMAX is implemented on the CPU.  Thus, the main.cc files for the ZCU102 and Ultra96 are representative of the two scenarios.  Does this help?

--Quenton

0 Kudos
Highlighted
Participant
Participant
993 Views
Registered: ‎09-11-2018

I have already tried to deploy resnet network on ZCU104 board. ResNet Deployment is perfectly working with two kernel paradigm. But now I am trying to run different network which is having one kernel paradigm. Thus, main.cc should be supported for one kernel paradigm. I need that one kernel paradigm supported main.cc. How should get that one  ? or I need to code myself ? If yes, then please help in writing the steps for writing one kernel paradign supported main.cc.

How ultra96 support one kernel paradigm version. Could you please explain on that. Thanks for kind of understanding my issue (restating my problem in reply) and trying to help me in figuring out it.

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
977 Views
Registered: ‎03-21-2008

The difference is becuase the DPU IP version in the Ultra96 example design is newer.

The DPU IP for the ZCU102 and ZCU104 examples is version 1.3.0, while the version used in the Ultra96 is 1.3.7.  

You can look at the resnet50 main.cc example for the Ultra96, but the real question is if version 1.3.0 supports all the layers of  you new network. 

When you compile your new network in DNNC, how many CPU kernels are generated?

 

0 Kudos
Highlighted
Participant
Participant
960 Views
Registered: ‎09-11-2018

When I am compiling DNNC i am get one elf for DPU kernel and one Kernel for CPU. Total 2 kernel is executed. The figure of it attaching in this reply.

I have tried to made changes of my main.cc of customnet model with reference of main.cc (ultra96 resnet50 model). But still i am encountaring the same error.

Load image : roi_926.jpg

Run ResNet50 CONV layers ...
[DNNDK] DPU timeout while execute DPU Task [customnet_0-1] of Node [conv1]

dnncoutput.png
0 Kudos
Highlighted
Moderator
Moderator
955 Views
Registered: ‎08-16-2018

@jheaton @qhall 

Which document contains these information. 

 


The difference is becuase the DPU IP version in the Ultra96 example design is newer.

The DPU IP for the ZCU102 and ZCU104 examples is version 1.3.0, while the version used in the Ultra96 is 1.3.7.  

You can look at the resnet50 main.cc example for the Ultra96, but the real question is if version 1.3.0 supports all the layers of  you new network. 

When you compile your new network in DNNC, how many CPU kernels are generated?





/ 7\7     Meher Krishna Patel, PhD
\ \        Senior Product Application Engineer, Xilinx
/ /        
\_\/\7   It is not so much that you are within the cosmos as that the cosmos is within you...
0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
927 Views
Registered: ‎03-21-2008

The DPU versions used for each board, are listed on page33 of UG1327.

When you run the install.sh script in the host_x86 dir, it will point to the specific dnnc compiler version of 1.3.0 or 1.3.7 based on the board you specify.

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
923 Views
Registered: ‎03-21-2008

If you are running on a ZCU104 or ZCU102, you have to use the version 1.3.0 of the dnnc compiler. The DPU hw does not support networks compiled with version 1.3.7 snd will fail when you run on hw.

I beleive once version 1.4. of the DNNDK tools are released, the DPU versions for the ZCU102 and ZC104 will be upgraded.

0 Kudos
Highlighted
Participant
Participant
910 Views
Registered: ‎09-11-2018

I checked the DNNC version it actually installed both 1.3.0 and 1.3.7 version on the host_x86 machine. I am attaching the proof for it in this reply. 

 You are kind of deviating from the problem statement i have encountared and replying in some other kinds of directions. So please read help me in figure the issue to solve the error [DNNDK] DPU timeout while execute DPU Task [customnet_0-1] of Node [conv1]

DNNC DPU Version.PNG
0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
895 Views
Registered: ‎03-21-2008

I just wanted to make sure you are using the right dnnc version for your board.

When you exectute dnnc --version it should report a DPU target of 1.3.0.

Assuming this is correct then there is something else going on here.

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
850 Views
Registered: ‎02-18-2013

guru@ignitarium 

Pls check if the kernal name and node names are correct in main.cc based on your custom network. 

Here below is the example from resnet50

/* DPU Kernel Name for ResNet50 CONV & FC layers */
#define KRENEL_CONV "resnet50_0"
#define KERNEL_FC "resnet50_2"

#define CONV_INPUT_NODE "conv1"
#define CONV_OUTPUT_NODE "res5c_branch2c"
#define FC_INPUT_NODE "fc1000"
#define FC_OUTPUT_NODE "fc1000"

0 Kudos
Highlighted
Participant
Participant
833 Views
Registered: ‎09-11-2018

I have the changed the name of kernel_name and node_name for my custom network. I was able to compile successful but during runtime only i have this issue. Please tell me what should be done.

0 Kudos
Highlighted
Visitor
Visitor
506 Views
Registered: ‎06-13-2019

I meet the same problem with you, did you have find a solution? If yes, please told me how to solve it, thanks.
0 Kudos