cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
trived76
Observer
Observer
307 Views
Registered: ‎10-03-2019

What is the difference between the "Configurable DpuTask" and "DpuTask"?

Jump to solution

I came across the "dpu_task" and "configurable_dpu_task" source codes. I was wondering about the difference of these: 

1. https://github.com/Xilinx/Vitis-AI/blob/master/tools/Vitis-AI-Library/dpu_task/src/configurable_dpu_task_imp.cpp

2. https://github.com/Xilinx/Vitis-AI/blob/master/tools/Vitis-AI-Library/dpu_task/src/dpu_task_imp.cpp

And under what cases one can use the configurable dpu task class from the Vitis-AI-Library. I tried my best to read through the resources if I can find the information about it but could not, thus posted this question here. Thanks.

Tags (1)
0 Kudos
1 Solution

Accepted Solutions
dsp81
Explorer
Explorer
228 Views
Registered: ‎10-25-2017

I think the main difference is that with the configurable DPU task the configuration parameters from the model.prototxt file (from the model directory) will get attached to the task handle data structure.  With the DPU task class, that information is not included in the data structure.  

If you look at how the Vitis-AI library classes are implemented, most of them use the configurable DPU task class to pass parameters from the model.prototxt file to pre/post-processing routines. Example

With the DPU task class, the pre/post-processing parameters are handled outside of the task data structure.  Example.  

If you don't need to pass any parameters from a model.prototxt file to pre/post-processing functions, then you can probably just use the DPU task class.  If you want to be able to tweak configuration parameters via a prototxt file without recompiling your source code then the configurable DPU Task is probably the way to go.

View solution in original post

1 Reply
dsp81
Explorer
Explorer
229 Views
Registered: ‎10-25-2017

I think the main difference is that with the configurable DPU task the configuration parameters from the model.prototxt file (from the model directory) will get attached to the task handle data structure.  With the DPU task class, that information is not included in the data structure.  

If you look at how the Vitis-AI library classes are implemented, most of them use the configurable DPU task class to pass parameters from the model.prototxt file to pre/post-processing routines. Example

With the DPU task class, the pre/post-processing parameters are handled outside of the task data structure.  Example.  

If you don't need to pass any parameters from a model.prototxt file to pre/post-processing functions, then you can probably just use the DPU task class.  If you want to be able to tweak configuration parameters via a prototxt file without recompiling your source code then the configurable DPU Task is probably the way to go.

View solution in original post