I’m attempting to use TorchScript/LibTorch to deploy a PyTorch model in C++. Unfortunately, I’m constrained to an environment with CUDA 8.0 and cuDNN 6.0.21.
In trying to run an example in this environment, I get an error when running
cmake -DCMAKE_PREFIX_PATH=/path/to/libtorch ..:, using the Preview version of LibTorch for CUDA 8.0 on Linux.
[ec2-user@ip-172-31-32-107 build]$ cmake -DCMAKE_PREFIX_PATH=/home/ec2-user/libtorch .. -- The C compiler identification is GNU 4.8.5 -- The CXX compiler identification is GNU 4.8.5 -- 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 -- 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 -- Found CUDA: /usr/local/cuda (found version "8.0") -- Caffe2: CUDA detected: 8.0 -- Caffe2: CUDA nvcc is: /usr/local/cuda/bin/nvcc -- Caffe2: CUDA toolkit directory: /usr/local/cuda -- Caffe2: Header version is: 8.0 -- Found CUDNN: /usr/local/cuda/include -- Found cuDNN: v6.0.21 (include: /usr/local/cuda/include, library: /usr/local/cuda/lib64/libcudnn.so) CMake Error at /home/ec2-user/libtorch/share/cmake/Caffe2/public/cuda.cmake:159 (message): PyTorch requires cuDNN 7 and above. Call Stack (most recent call first): /home/ec2-user/libtorch/share/cmake/Caffe2/Caffe2Config.cmake:88 (include) /home/ec2-user/libtorch/share/cmake/Torch/TorchConfig.cmake:40 (find_package) CMakeLists.txt:4 (find_package) -- Configuring incomplete, errors occurred! See also "/home/ec2-user/example_app/build/CMakeFiles/CMakeOutput.log". See also "/home/ec2-user/example_app/build/CMakeFiles/CMakeError.log".
This seems clear enough: LibTorch requires cuDNN7 or higher. But given that I’m unable to upgrade my deployment environment, I’d like to know:
- Is there any workaround that might allow me to get LibTorch working on cuDNN6?
- If no to (1), are there any plans to support cuDNN6 in the CUDA 8.0 version of LibTorch?