Installing dlib_for_arm

I recently found dlib_for_arm which seems well suited to improving performance on the Jetson Nano.

I tried installing it but ran into some issues - I think its not finding the correct installation of cuDNN? According to jtop I have 8.0.0.180

Is there some way to pass in the cuDNN install directory to cmake? I’m new to linux so my hypothesis likely is wrong… Thoughts?

I can get dlib working via pip3, however its performance is pretty slow…

Here’s the error:

PieGuyX1000@JetsonNano:~/Documents/dlib_for_arm/dlib/build$ cmake …
– The C compiler identification is GNU 7.5.0
– The CXX compiler identification is GNU 7.5.0
– Check for working C compiler: /usr/bin/cc
– Check for working C compiler: /usr/bin/cc – works
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Detecting C compile features
– Detecting C compile features - done
– Check for working CXX compiler: /usr/bin/c++
– Check for working CXX compiler: /usr/bin/c++ – works
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Detecting CXX compile features
– Detecting CXX compile features - done
– C++11 activated.
– Looking for pthread.h
– Looking for pthread.h - found
– Looking for pthread_create
– Looking for pthread_create - not found
– Looking for pthread_create in pthreads
– Looking for pthread_create in pthreads - not found
– Looking for pthread_create in pthread
– Looking for pthread_create in pthread - found
– Found Threads: TRUE
– Looking for XOpenDisplay in /usr/lib/aarch64-linux-gnu/libX11.so;/usr/lib/aarch64-linux-gnu/libXext.so
– Looking for XOpenDisplay in /usr/lib/aarch64-linux-gnu/libX11.so;/usr/lib/aarch64-linux-gnu/libXext.so - found
– Looking for gethostbyname
– Looking for gethostbyname - found
– Looking for connect
– Looking for connect - found
– Looking for remove
– Looking for remove - found
– Looking for shmat
– Looking for shmat - found
– Looking for IceConnectionNumber in ICE
– Looking for IceConnectionNumber in ICE - found
– Found X11: /usr/lib/aarch64-linux-gnu/libX11.so
– Looking for png_create_read_struct
– Looking for png_create_read_struct - found
– Looking for jpeg_read_header
– Looking for jpeg_read_header - found
– Searching for BLAS and LAPACK
– Found PkgConfig: /usr/bin/pkg-config (found version “0.29.1”)
– Checking for module ‘cblas’
– No package ‘cblas’ found
– Checking for module ‘lapack’
– Found lapack, version 0.2.20+ds
– Looking for sys/types.h
– Looking for sys/types.h - found
– Looking for stdint.h
– Looking for stdint.h - found
– Looking for stddef.h
– Looking for stddef.h - found
– Check size of void*
– Check size of void* - done
– Found OpenBLAS library
– Looking for sgetrf_single
– Looking for sgetrf_single - found
– Using OpenBLAS’s built in LAPACK
– Looking for cblas_ddot
– Looking for cblas_ddot - found
– Found CUDA: /usr/local/cuda (found suitable version “10.2”, minimum required is “7.5”)
– Looking for cuDNN install…
CMake Error at dlib/dnn/test_for_cudnn/find_cudnn.txt:10 (get_filename_component):
get_filename_component unknown component
CUDA_cublas_device_LIBRARY-NOTFOUND
Call Stack (most recent call first):
dlib/CMakeLists.txt:461 (include)

– Building a CUDA test project to see if your compiler is compatible with CUDA…
– Checking if you have the right version of cuDNN installed.
CMake Error at /home/PieGuyX1000/Documents/dlib_for_arm/dlib/dlib/dnn/test_for_cudnn/find_cudnn.txt:10 (get_filename_component):
get_filename_component unknown component
CUDA_cublas_device_LIBRARY-NOTFOUND
Call Stack (most recent call first):
/home/PieGuyX1000/Documents/dlib_for_arm/dlib/dlib/dnn/test_for_cudnn/CMakeLists.txt:11 (include)

CMake Error at dlib/CMakeLists.txt:476 (try_compile):
Failed to configure test project build system.

– Configuring incomplete, errors occurred!
See also “/home/PieGuyX1000/Documents/dlib_for_arm/dlib/build/CMakeFiles/CMakeOutput.log”.
See also “/home/PieGuyX1000/Documents/dlib_for_arm/dlib/build/CMakeFiles/CMakeError.log”.

Hi,

There are some API update in the cuDNN v8.0.
Please use the newest dlib source from GitHub to get the cuDNNv8 support.

Thanks.