Run CUDA8-cuDNN6-TensorRT2.1 on L4T 28.2.1

Our application was developed on Jetpack 3.1 using CUDA 8.0, cuDNN 6 and TensorRT 2.1. Now, we upgraded to the latest L4T in Jetpack 3.3 and installed CUDA 8.0 cuDNN 6 and TensorRT 2.1 (using Jetpack 3.1 installer). The application started to crash, with error message: “cuda error 4, unspecified launch error”. What’s weird is that, occasionally, it can run fine.

We also tried installing CUDA 9.0, cuDNN 7 and TensorRT 4 using Jetpack 3.3 alongside with CUDA 8. We also pointed /usr/local/cuda to /usr/local/cuda-8.0. The error still persisted (maybe less often).

Given the docker support in L4T in 3.3, we also tried to run our application in a container. From arm64v8, we installed CUDA8 cuDNN6 and TensorRT 2.1 using deb files. Mount tegra (/usr/lib/aarch64-linux-gnu/tegra and /usr/lib/aarch64-linux-gnu/tegra-egl) and gpu devices (using -v). However, we still gets cuda error 4.

Any thoughts on why this is happening?


It won’t work.

It’s required to use same JetPack installer for OS image and CUDA package.
There are some dependency in GPU driver (contained in OS) and CUDA tool-kit.
If mix-using them, kernel will go crash due to incompatibility.

Suppose you want to keep the environment in rel28.1 but upgrade TensorRT.
There is a standalone package for JetPack 3.1:

Please noticed that this is a RC version of TensorRT 3.0.
If you want a newer TensorRT version, please upgrade your environment to rel-28.2.1 for JetPack3.3.