Use of latest tensorrt in drive sdk

Please provide the following info:
Hardware Platform: DRIVE AGX Pegasus™ Developer Kit]
Software Version: [Example: DRIVE Software 10, DRIVE Software 9]
Host Machine Version: [Example: native Ubuntu 18.04]
SDK Manager Version: [Example: 1.0.1.5538]

Hello, Now I using Pegasus,
Looking at the documentation of the latest sdk, it seems to support tensorrt’s 5.x.

Is there any way to use the latest tensorrt? like 7.x

Thanks,

Dear @aram.so,
The TensorRT package is part of DRIVE SW and hence you can use only TRT 5 on Pegasus with last DRIVE SW release.

Thanks you for reply @SivaRamaKrishnaNV,

I am a bit hard to understand. Can you give me reason why?

Dear @aram.so,
The TRT aarch libs are part of DRIVE SW release and can not be installed as a separate package.

I developed the dnn algorithm and with pytorch and converted it to onnx. This only succeeds in parsing on the latest tensorRT7.(using trtexec) But as you said, only tensorrt5 is supported in my target device.

I’m just curious. it’s possibly inference from the target the file I created with tensorrt7 on hostPC?

Dear @aram.so,
The engine file you created and inference should have same version.

When can be expect an update of Tensorrt on Drive PX. I am facing the same Issue. I want to use models that work fine with the ONNX parser of Tensorrt 7 on the Drive PX but with Tensorrt 5 there is no way to import those models.

Dear @andre.a.bauer,
Do you have DRIVE AGX or DRIVE PX2. Note that there are no more releases for DRIVE PX2.
Future releases of DRIVE SW (for DRIVE AGX) will have TRT 7.

Sorry, I have a Drive AGX. When is a Drive SW release planned that includes TRT 7?

Dear @andre.a.bauer,
Can I know, which layers in your model has issue to be parsed on TRT 5?

I need Onnx Opset 11, so the onnx parser is the issue.

  • Resize NN and Bilinear (Upsample)
  • Dilated Convolutions

Dear @andre.a.bauer,

we were facing a similar issue recently and figured out, that the TensorRT binaries of for the Jetson do also work on the DriveAGX. The Jetson has a much faster release cycle and TRT 7 is available for it. It can be downloaded from here and the binaries copied to the DriveAGX manually. Just keep in mind that, while this worked for our purpose, this is not officially supported and functionality is not guaranteed.

1 Like

Sounds like a very good workaround. Do you use jetson to build your binaries or did you resolve all the new build dependencies for trt7 yourself (new nvmedia version from jetson, glibc2.7 etc.)

We are using the nvmedia form Drive10, since Jetson does not provide nvmedia. TRT7 itself does not depend on nvmedia, so that is not an issue.
Regarding the GLIBC, we were using the binaries from Jetpack 4.3, which was the most recent back then. It is based on Ubuntu 18.04 LTS, just like Drive10, and both come with GLIBC 2.27. I haven’t tested Jetpack 4.4 jet, but since that is based on Ubuntu 18.04LTS too, I would assume it also uses GLIBC 2.27, but we haven’t tested that yet.

Thank you, it worked for me as well :)

Except the DLA… Creating the engine with buildEngineWithConfig gives me a segfault when DLA + GPU Fallback is enabled

I tried @klaus.kofler solution. It works if a process doesn’t have dependency on libdriveworks.
If the process(which you want to use TRT7) depends on libdriveworks, “Segmetation Fault” happens during initiation. Because TRT7 requires cuDNN8, but libdriveworks directly links to cuDNN7(libcudnn.so.7), then different library version conflict happens.
Can anyone avoid this problem?

Dear @gungnir,
This work around is only for TensorRT. To use Driveworks, you need to use the shipped version with the DRIVE SW

Dear @SivaRamaKrishnaNV , thanks for your prompt response. We are waiting for TRT7 on Drive SW.