cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
bestcarp
Visitor
Visitor
890 Views
Registered: ‎04-26-2019

DPU (DPUCZDX8G) work go wrong with self hls kernel

platfrom:ZCU104

I tried to find the cause of the error using the controlled variable method ,but failed!

the DPU means DPUCZDX8G on ZCU104

 2 DPU1DPU1DPU with self hls kernel1DPU with another self hls kernel

Self net (n2cube api)

RightRightWrongWrong

Official VART sample

RightRightWrongWrong
Self hls kernel--RightRight

 

1.png2.png

picture shows the platform with (1 DPU) and (1 DPU with self hls kernel )

the error result follows

3.png

the cust net work right on offical img /(1 DPU )/(2 DPU)  ,but work error like this if I include myself hls kernel. i did't change the host code, what's more ,i also tried build dcf file with hwh res,then compile the (elf) file and the (so) file.

4.png

the offical VART example such as Video analysis work wrong at the same time.

 

【however, all my hls kernels test  work properly  with individual opencl host file.】

 

all my modify the scripts is followed like this 

[

pp_1118_top_FLAGS := --kernel pp_1118_top -I. -I/home/wly/vitis_lib_2020_1/Vitis_Libraries/vision/L1/include -D__SDSVHLS__ -D__XF_USE_NEW_IMPL__ 

 

else ifeq ($(KERNEL),DPU)
kernel_xo = binary_container_1/dpu.xo binary_container_1/pp_1118_top.xo

 

binary_container_1/pp_1118_top.xo: my_pp_1118_accel.cpp
v++ -t ${TARGET} --platform ${SDX_PLATFORM} ${pp_1118_top_FLAGS} --temp_dir binary_container_1 --kernel_frequency=300 --log_dir binary_container_1/logs --config pp_1118_top_config.ini -c -o $@ $<

]

 

I don't know how this scripts can influence the dpu‘s’ work

 

【addition】

i tried build platform use offical sfm_xrt_top_1 base on  previous prj 

5.png6.png

 

it can‘’t work with n2cube api and work wrong with VART env same as before

 

 

 

 

 

0 Kudos
8 Replies
bestcarp
Visitor
Visitor
887 Views
Registered: ‎04-26-2019

 
0 Kudos
bestcarp
Visitor
Visitor
847 Views
Registered: ‎04-26-2019

I build this platform on ZCU102

modifyed form 【prj_config_102_3dpu_LPD】

it work all properly 

what's the differenc between this two platform?

My operations are all standard,why zcu104 work error only if I connect  custom hls kernel??

0 Kudos
graces
Moderator
Moderator
817 Views
Registered: ‎07-16-2008

The Makefile looks good to me.

You mean with ZCU102 prj config file, DPU+custom HLS kernel work fine in hardware?

For the v++ package flow, by default, it creates an output file named a.xclbin. You can add "-o dpu.xclbin" to specify the output file name. Is this output dpu.xclbin copied to the target system?

-----------------------------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
If starting with Versal take a look at our Versal Design Process Hub and our Versal Blogs.
-----------------------------------------------------------------------------------------------------------------------
0 Kudos
qwqw0001
Contributor
Contributor
814 Views
Registered: ‎07-15-2019

hi @bestcarp ,

    I am also doing this work recently, combining my own HLS core with DPU.  I would like to ask how to combine my HLS core with DPU. Should this combination be before petalinux builds the system?

     Do you have any relevant tutorials to share, thank you!

Tags (1)
0 Kudos
bestcarp
Visitor
Visitor
796 Views
Registered: ‎04-26-2019

I refer to the github /Xilinx/Vitis-In-Depth-Tutorial 

Vitis-In-Depth-Tutorial /Machine_Learning /Introduction /03-Basic /Module_7/

I hope it helped you

0 Kudos
qwqw0001
Contributor
Contributor
788 Views
Registered: ‎07-15-2019

hi @bestcarp ,

   OK, I will try it, thanks.

    ylh

Tags (1)
0 Kudos
bestcarp
Visitor
Visitor
756 Views
Registered: ‎04-26-2019

these days,I try make 104 and 102 platforms on another computer,because I wonder if there is something wrong with my  environment.

The result is the same as before

with ZCU102 prj config file, DPU+custom HLS kernel work fine in hardware.(2 DPU 3 HLSkernel)

with ZCU104 prj config file, DPU+custom HLS kernel work error in hardware.(1 DPU 3 HLSkernel)

Another difference between the two config files is [strategy=Performance_ExploreWithRemap 0r Performance_NetDelay_low], which I don't think is causing the result.

I also don't think the ZCU104 FPGA is the problem, because it runs correctly without  HLS kernels.

0 Kudos
bestcarp
Visitor
Visitor
726 Views
Registered: ‎04-26-2019

Then I wonder if it is the amount of DPU that is causing the problem. The ZCU104 can only use one DPU with a B4096 architecture due to resource issues.

The result is that adding HLS kernel when there is only one DPU will cause the DPU to run incorrectly

RUN A same dpu APP (only use n2cube api ,not use hls kernel)

 1DPU No hls kernel2DPU No hls kernel1DPU with hls kernel2DPU with hls kernel
on ZCU104

Right

RightErrorNO resource
on ZCU102Not testNot testErrorRight

ALL test build a new sdcard_img,and the dpu.xclbin updata automatically and correctly.

I think it should be difficult for me to find the reason for this phenomenon, and I doubt whether there is a bug in DPU TRD

 

0 Kudos