i will give it a try. I have already succeed to compile OpenCV 4.1.1 with the Nano so i planned to use the same script but this time, i will use those flags for the compiling options :
WITH_CUDA=ON
WITH_CUDNN=ON
OPENCV_DNN_CUDA=ON
ENABLE_FAST_MATH=1
CUDA_FAST_MATH=1
CUDA_ARCH_BIN=ā5.3,6.2,7.2ā
WITH_CUBLAS=1
Do you think those flags are OK ?
I think i will also need to create swap file (4Go) to be able to compile OpenCV and i will use the 4 cores.
I get CuDNN 7.3.1 on my Nano and of course, it is not suitable version for OpenCV 4.2.0. It needs CuDNN 7.5 or more.
Can Nidia provide a download link to CUDNN 7.6 provided with lastest JepPack ?
I know i can download latest Nano image and flash a new SD Card but this is really BORING because i will have to configure this new SD card with all the librairies i need.
Hi Alain, you would need to re-flash your SD card with the JetPack 4.3 image for Nano. It isnāt possible to upgrade cuDNN package version independently, because it has dependencies on CUDA version and L4T version.
If you re-flash your SD card with JetPack 4.3, then you shouldnāt need to re-flash again, because JetPack 4.3 enables a new APT server for upgrading to future JetPack releases from the command line (ala āsudo apt upgradeā) instead of re-flashing. You will still need to re-flash to upgrade to JetPack 4.3 from previous releases, but once you are on JetPack 4.3 you should be all set for the future. For more info about the APT-based future updates, see:
Itās very slow (like very very slow), and a lot of things fail. You will probably need a swapfile mounted as well. If you do end up testing 4.2.0, please post the results since I havenāt actually run through all of them yet (I cancelled it).
Re: can it replace the nano on the dev kit board: my undestanding (correct me if iām wrong, dusty_nv) is that it will work with the later revisions, but not the original. You will need to check the part number to see if it matches your board.
seems 7.6.3
after adding the sources.list.d list file:
root@c74dcc260e4c:~/opencv-4.2.0/build# apt install libcudnn7
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
libwayland-egl1-mesa
Use 'apt autoremove' to remove it.
The following NEW packages will be installed:
libcudnn7
0 upgraded, 1 newly installed, 0 to remove and 193 not upgraded.
Need to get 182 MB of archives.
After this operation, 447 MB of additional disk space will be used.
Get:1 https://repo.download.nvidia.com/jetson/common r32/main arm64 libcudnn7 arm64 7.6.3.28-1+cuda10.0 [182 MB]
Fetched 182 MB in 1min 11s (2561 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libcudnn7.
(Reading database ... 56410 files and directories currently installed.)
Preparing to unpack .../libcudnn7_7.6.3.28-1+cuda10.0_arm64.deb ...
Unpacking libcudnn7 (7.6.3.28-1+cuda10.0) ...
dpkg: error processing archive /var/cache/apt/archives/libcudnn7_7.6.3.28-1+cuda10.0_arm64.deb (--unpack):
unable to make backup link of './usr/lib/aarch64-linux-gnu/libcudnn.so.7.6.3' before installing new version: Invalid cross-device link
dmesg: read kernel buffer failed: Operation not permitted
Errors were encountered while processing:
/var/cache/apt/archives/libcudnn7_7.6.3.28-1+cuda10.0_arm64.deb
Try āapt search cudnnā. As to the error, it looks related to the way Nvidia is bind mounting the CUDA resources inside docker (basically inside has to match the outside. Nvidia can probably provide support for that.
Are you running the image on the latest JetPack? If so, looks like this is something Nvidia needs to fix.