cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
1,779 Views
Registered: ‎01-28-2020

PetaLinux DPU driver

Hello:

I'm trying to create a PetaLinux project to be able to use ZedBoard with the Xilinx DPU IP block. I've created an .xsa file to configure the PetaLinux project, which includes all necessary connections between DPU and Processor System.

My problem is that I also have to include the DPU drivers into the PetaLinux project, but I don't know where to find this drivers. I see that using the DPU TRD you can get a .bsp file which creates a project for ZCU102 with the drivers included in it, but I don't know where could I find these drivers to add them to the PetaLinux project I'm building from scratch, without the .bsp file.

Thank you very much for your help.

0 Kudos
3 Replies
hokim
Scholar
Scholar
1,754 Views
Registered: ‎10-21-2015

Hi

Did you download dpu_petalinux_bsp(xilinx-zcu102-v2019.2-final-4dpu-1.4.1.bsp )at https://github.com/Xilinx/Vitis-AI/tree/master/DPU-TRD/prj/Vivado ?

To copy the recipe for dpu kernel module to your petalinux project, do the following

$ tar xvzf xilinx-zcu102-v2019.2-final-4dpu-1.4.1.bsp

xilinx-zcu102-v2019.2-final-4dpu-1.4.1/project-spec/meta-user/recipes-ai/dpu includes the dpu driver source

It can be used for zedboard

But there seems to be no runtime library for zynq(arm). It means you can not yet use dpu 

1,706 Views
Registered: ‎01-28-2020

Hello and thanks for your answer @hokim :

I managed to install the DPU drivers copying the folder you mention to my PetaLinux project, in the /project-spec/meta-user/ folder. I copied the drivers into a folder I created called recipes-ai. To install the drivers I then checked the README.md of the DPU drivers folder. The installation process should be done as follows:

- Open a terminal in your petalinux project directory

- Execute: petalinux-build -c kernel

- Execute: petalinux-build -c dpu

- Execute: petalinux-build -x package

Once this is done, you should add the package to the RootFS. Therefore, enter the /project-spec/meta-user/conf/user-rootfsconfig file and add the line "CONFIG_dpu".

Now execute "petalinux-config -c rootfs", and you should be able to add the dpu in the "modules" section.

-Execute: petalinux-build

I believe this is the process to correctly install the drivers, but I haven't been able to check yet if the DPU works with any of the DNN models provided by Xilinx.

In regard to the runtime library, I've seen that in the Xilinx repository, https://github.com/Xilinx/Vitis-AI/tree/master/VART, you can download the package "vitis-ai-runtime", although I think that it might not be compatible with ZedBoard, as you say. In any case, if you want to use the DPU you can also work with the DNNDK v3.1, which should be compatible with ZedBoard. This link might be helpful, https://www.xilinx.com/support/answers/73058.html.

Regards.

hokim
Scholar
Scholar
1,656 Views
Registered: ‎10-21-2015

The vitis-ai-runtime is for Vitis: https://github.com/Xilinx/Vitis-AI/tree/master/DPU-TRD/prj/Vitis

The runtime doesn't need the dpu specific driver  and  uses xrt driver(zocl) dpu kernel

0 Kudos