While verifying cuDNN install on Linux as the docs implied:
- Compile the mnistCUDNN sample.
$make clean && make
I encountered error as below:
XXX@XXX ~/cudnn_samples_v7-master/mnistCUDNN $ make clean && make
rm -rf *o
rm -rf mnistCUDNN
/usr/local/cuda/bin/nvcc -ccbin g++ -I/usr/local/cuda/include -IFreeImage/include -m64 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_53,code=compute_53 -o fp16_dev.o -c fp16_dev.cu
g++ -I/usr/local/cuda/include -IFreeImage/include -o fp16_emu.o -c fp16_emu.cpp
In file included from fp16_emu.cpp:50:
fp16_emu.h:55:10: fatal error: driver_types.h: No such file or directory
#include <driver_types.h>
^~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:200: fp16_emu.o] Error 1
I tried:
sudo find / -name driver_types.h
And I found driver_types.h is actually in
/usr/local/cuda/targets/x86_64-linux/include/
rather than
/usr/local/cuda/include .
So I replace the
CUDNN_INCLUDE_PATH ?= $(CUDA_PATH)/include
with
CUDNN_INCLUDE_PATH ?= $(CUDA_PATH)/targets/x86_64-linux/include
in cudnn_samples_v7/mnistCUDNN/Makefile
And the problem was solved. I hope this would help someone.
Platform & Versions:
driver_types.h
is actually in /usr/local/cuda/targets/x86_64-linux/include
Replace the
CUDNN_INCLUDE_PATH ?= $(CUDA_PATH)/include
with
CUDNN_INCLUDE_PATH ?= $(CUDA_PATH)/targets/x86_64-linux/include
in cudnn_samples_v7/mnistCUDNN/Makefile