HELP problem with cuDNN ang gpuCoder (matlab)

Hi everyone,

I am trying to deploy a segmentation network from matlab to a jetson nano.
I am currently struggling with an error when I check the gpu Installation on the target (so my jetson nano).
This “check operation” is done with matlab and it returns me this message ;

Error executing command "touch -c /home/floriant/buildDir_dlcodegentest/MATLAB_ws/R2020a/C/Users/idf-ia/AppData/Local/Temp/tp9c7b3085_e9ce_4497_a29a_8b953fb449ed/codegen/exe/dlEntryPointTest/.;make -f dlEntryPointTest_rtw.mk all MATLAB_WORKSPACE="/home/floriant/buildDir_dlcodegentest/MATLAB_ws/R2020a" -C /home/floriant/buildDir_dlcodegentest/MATLAB_ws/R2020a/C/Users/idf-ia/AppData/Local/Temp/tp9c7b3085_e9ce_4497_a29a_8b953fb449ed/codegen/exe/dlEntryPointTest". Details:

STDERR: MWConvLayerImpl.cu(199): error: identifier “CUDNN_CONVOLUTION_FWD_NO_WORKSPACE” is undefined

MWConvLayerImpl.cu(199): error: identifier “cudnnGetConvolutionForwardAlgorithm” is undefined

2 errors detected in the compilation of “/tmp/tmpxft_000024b7_00000000-6_MWConvLayerImpl.cpp1.ii”.
make: *** [MWConvLayerImpl.o] Error 1

I see the 2 errors (something to do with identifier undefined) but I really don’t get how to fix it.

Hi, Did you find the solution? I am facing the same error while deploying “Squeezenet” using dlcfg = coder.DeepLearningConfig(‘CUDNN’); on Jetson Nano. Works fine if ‘TENSORRT’ is used instead of ‘CUDNN’. Will appreciate any help. thanks

Hi ! Yes I managed to find a solution ! You have to set your environment variables, that way your computer will be able to find the path to the cuDNN libraries.

**First get the absolute path to your cuDNN library and store it for later. If you haven’t thses libraries just download them.

**If you’re working with windows like me do the following steps:

  • go to this site in order to open the environement variables section

  • go to the bottom window “system variables”

  • search for the variable "NVIDIA_CUDNN

  • set the correct path with the path youv’se stored in the first step

  • if the variable doesn’t exist you’ll have to create it, just click on “new” then set the name to NVIDIA_CUDNN + set the path

Should do the trick !

Setting Up the Prerequisite Products - MATLAB & Simulink - MathWorks France

[

Setting Up the Prerequisite Products - MATLAB & Simulink - MathWorks France

Configure compilers for GPU Coder.

](https://fr.mathworks.com/help/gpucoder/gs/setting-up-the-toolchain.html)

I strongly recommand you to go to that page and read all of it, I’m sure you’ll find interresting stuff, especially if you want to do DeepLearning (for example you’ll need to install OpenCV on the host AND on the target to get it work).

Hope it’ll help you.
Bye.