Closed simonschoening closed 2 years ago
Why was this incorrectly referenced?
Hi @simonschoening , Sorry for the late reply. would you mind to share the quantized and compiled xmodel ?
Lowering the clock frequency of the DPU seems to fix the issue.
Using a different DPU configuration (one DPU with only one engine instead of the 5+5+4 config by Xilinx) also seems to be stable. To generate such a bitstream, kernel_DPUCAHX8H_1ENGINE.xml
should be fixed (#827).
To get the two .xmodel files, I downloaded the model source code from the model zoo and compiled the already trained models (also saved as .xmodel) with DPUCAHX8H as target.
I think that the PointPillars Library does currently only support a batch size of one. Is this correct? Therefore, modifications are necessary to fully utilize the DPUCAHX8H architecture.
Hi @simonschoening, thanks for your reply. I think your approach of lowering the DPU clock frequency is correct. Due to the power limitation of the U280 Alveo card, the CNN models cannot run at the highest frequencies. Sometimes frequency scaling-down operation is necessary. Whether the PointPillars Library can run successfully is not related the DPU engine number, but is related to the OPs that the DPU wether can support. And I think your operation of reducing the number of engines in the dpu actually reduces the power consumption of the model when it is running.
Hi @simonschoening, Is there any update about this issue? thanks!
Hi @simonschoening , Please reopen this issue if you have any other questions. Thanks!
I am trying to get the PointPillars example (
demo/Vitis-AI-Library/samples/pointpillars
) working on the Alveo U280 and Vitis AI 1.4.1.It seems to me that the model and library were not originally designed for the
DPUCAHX8H
orDPUCAHX8L
. The library expects that the PFN's Max Pool operation with a kernel size of 100 is supported by the DPU. This is not supported byDPUCAHX8H
orDPUCAHX8L
.Therefore I modified
pt_pointpillars_kitti_12000_100_10.8G_1.4/code/test/models/pointpillars.py
to use three smaller MaxPool2D instead, and quantized + compiled the model for theDPUCAHX8H
:Unfortunately, the kernel size
(1, 5)
is only supported byDPUCAHX8H
and not byDPUCAHX8L
.To my surprise,
test_bin_pointpillars
works just fine with this modified model.However,
test_performance_pointpillars
does crash after a while (roughly depends on number of threads?) and generates the following error:Can someone explain what I did wrong? Maybe you have a better idea on how to get the example working on Alveo U280?