Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dev-v2 branch build failure #885

Closed
Dr-Noob opened this issue Nov 12, 2020 · 3 comments
Closed

dev-v2 branch build failure #885

Dr-Noob opened this issue Nov 12, 2020 · 3 comments
Assignees

Comments

@Dr-Noob
Copy link
Contributor

Dr-Noob commented Nov 12, 2020

Summary

Building dev-v2 with NVIDIA backend support fails.

Version

oneDNN dev-v2 (commit ad5176c)

Environment

Intel Xeon Gold. CentOS 8.2, clang 12.0 clang version 12.0.0 (https://github.com/intel/llvm 633691327b3f2d6a2a7a8321244682e91db78e7d).

Compiler obtained from https://github.com/intel/llvm and built succesfully with:

[drnoob@xeon sycl_workspace]$ python $DPCPP_HOME/llvm/buildbot/configure.py --cuda -t release
[drnoob@xeon sycl_workspace]$ python $DPCPP_HOME/llvm/buildbot/compile.py

Steps to reproduce

Tried to build as explained in README.md

[drnoob@xeon sycl_workspace]$ git clone https://github.com/oneapi-src/oneDNN && cd oneDNN
[drnoob@xeon oneDNN]$ git checkout dev-v2
[drnoob@xeon oneDNN]$ mkdir build/ && cd build/ 
[drnoob@xeon build]$ cp ../../build.sh .
[drnoob@xeon build]$ cat build.sh
export SYCL_HOME=~/sycl_workspace
export ONEDNN_HOME=$SYCL_HOME/oneDNN/
export DPCPP_HOME=$SYCL_HOME/llvm/build/bin/

export CC=$DPCPP_HOME/clang
export CXX=$DPCPP_HOME/clang++

cmake -DDNNL_CPU_RUNTIME=DPCPP -DDNNL_GPU_RUNTIME=DPCPP \
      -DDNNL_GPU_VENDOR=NVIDIA -G Ninja \
      -DOPENCLROOT=$SYCL_HOME/llvm/build/lib/ \
      -DOpenCL_INCLUDE_DIR=$SYCL_HOME/llvm/build/include/sycl/CL \
      -DCUBLAS_INCLUDE_DIR=/path/cuda-11.0/targets/x86_64-linux/include/ \
      -DCUBLAS_LIBRARY=/path/cuda-11.0/targets/x86_64-linux/lib/ \
      -DCUDNN_INCLUDE_DIR=/path/cuda-11.0/include/ \
      -DCUDNN_LIBRARY=/path/cuda-11.0/lib64 \
      -DTBBROOT=$SYCL_HOME/tbb/oneapi-tbb-2021.1-beta10/ ..
[drnoob@xeon build]$ ./build.sh
[drnoob@xeon build]$ ninja

Observed behavior

[drnoob@xeon build]$ ninja
[313/845] Building CXX object src/gpu/nvidia/CMakeFiles/dnnl_sycl_nvidia.dir/cudnn_lrn.cpp.o
FAILED: src/gpu/nvidia/CMakeFiles/dnnl_sycl_nvidia.dir/cudnn_lrn.cpp.o 
/home/drnoob/sycl_workspace/llvm/build/bin/clang++  -DCUDA_NO_HALF -DDNNL_DLL -DDNNL_DLL_EXPORTS -DDNNL_ENABLE_MAX_CPU_ISA -DDNNL_X64=1 -DNGEN_CPP11 -DNGEN_NEO_INTERFACE -DNGEN_NO_OP_NAMES -DNGEN_SAFE -DNGEN_WINDOWS_COMPAT -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I/home/drnoob/sycl_workspace/tbb/oneapi-tbb-2021.1-beta10/include -I../include -Iinclude -I../src -I/home/drnoob/sycl_workspace/llvm/build/include/sycl/CL -I/usr/local/cuda/include -I/home/modules/cuda-11.0/include -I/home/modules/cuda-11.0/targets/x86_64-linux/include -std=c++11 -fsycl -fvisibility-inlines-hidden  -Wall -Wno-unknown-pragmas -w -fvisibility=internal -msse4.1 -fPIC -Wformat -Wformat-security -fstack-protector-all   -Wno-pass-failed  -O2 -DNDEBUG -D_FORTIFY_SOURCE=2 -MD -MT src/gpu/nvidia/CMakeFiles/dnnl_sycl_nvidia.dir/cudnn_lrn.cpp.o -MF src/gpu/nvidia/CMakeFiles/dnnl_sycl_nvidia.dir/cudnn_lrn.cpp.o.d -o src/gpu/nvidia/CMakeFiles/dnnl_sycl_nvidia.dir/cudnn_lrn.cpp.o -c ../src/gpu/nvidia/cudnn_lrn.cpp
In file included from ../src/gpu/nvidia/cudnn_lrn.cpp:18:
In file included from ../src/gpu/nvidia/cudnn_lrn.hpp:23:
In file included from /home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl.hpp:11:
In file included from /home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/ONEAPI/atomic.hpp:11:
In file included from /home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/ONEAPI/atomic_accessor.hpp:11:
In file included from /home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/ONEAPI/atomic_enums.hpp:12:
In file included from /home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/access/access.hpp:10:
In file included from /home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/common.hpp:11:
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/cl_ext_intel.h:431:9: error: unknown type name 'cl_properties'
typedef cl_properties cl_mem_properties_intel;
        ^
In file included from ../src/gpu/nvidia/cudnn_lrn.cpp:18:
In file included from ../src/gpu/nvidia/cudnn_lrn.hpp:23:
In file included from /home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl.hpp:11:
In file included from /home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/ONEAPI/atomic.hpp:11:
In file included from /home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/ONEAPI/atomic_accessor.hpp:11:
In file included from /home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/ONEAPI/atomic_enums.hpp:12:
In file included from /home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/access/access.hpp:10:
In file included from /home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/common.hpp:121:
In file included from /home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/exception.hpp:15:
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:228:7: error: use of undeclared identifier 'CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES'
      CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES,
      ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:229:45: error: use of undeclared identifier 'CL_DEVICE_QUEUE_ON_HOST_PROPERTIES'
  PI_DEVICE_INFO_QUEUE_ON_HOST_PROPERTIES = CL_DEVICE_QUEUE_ON_HOST_PROPERTIES,
                                            ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:233:31: error: use of undeclared identifier 'CL_DEVICE_IL_VERSION_KHR'
  PI_DEVICE_INFO_IL_VERSION = CL_DEVICE_IL_VERSION_KHR,
                              ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:251:39: error: use of undeclared identifier 'CL_DEVICE_MAX_NUM_SUB_GROUPS'
  PI_DEVICE_INFO_MAX_NUM_SUB_GROUPS = CL_DEVICE_MAX_NUM_SUB_GROUPS,
                                      ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:253:7: error: use of undeclared identifier 'CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS'
      CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS,
      ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:287:34: error: use of undeclared identifier 'CL_QUEUE_DEVICE_DEFAULT'
  PI_QUEUE_INFO_DEVICE_DEFAULT = CL_QUEUE_DEVICE_DEFAULT,
                                 ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:290:24: error: use of undeclared identifier 'CL_QUEUE_SIZE'
  PI_QUEUE_INFO_SIZE = CL_QUEUE_SIZE
                       ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:334:34: error: use of undeclared identifier 'CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE'
  PI_KERNEL_MAX_SUB_GROUP_SIZE = CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE,
                                 ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:335:34: error: use of undeclared identifier 'CL_KERNEL_MAX_NUM_SUB_GROUPS'; did you mean 'PI_KERNEL_MAX_SUB_GROUP_SIZE'?
  PI_KERNEL_MAX_NUM_SUB_GROUPS = CL_KERNEL_MAX_NUM_SUB_GROUPS,
                                 ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:334:3: note: 'PI_KERNEL_MAX_SUB_GROUP_SIZE' declared here
  PI_KERNEL_MAX_SUB_GROUP_SIZE = CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE,
  ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:336:38: error: use of undeclared identifier 'CL_KERNEL_COMPILE_NUM_SUB_GROUPS'; did you mean 'PI_KERNEL_MAX_NUM_SUB_GROUPS'?
  PI_KERNEL_COMPILE_NUM_SUB_GROUPS = CL_KERNEL_COMPILE_NUM_SUB_GROUPS,
                                     ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:335:3: note: 'PI_KERNEL_MAX_NUM_SUB_GROUPS' declared here
  PI_KERNEL_MAX_NUM_SUB_GROUPS = CL_KERNEL_MAX_NUM_SUB_GROUPS,
  ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:374:30: error: use of undeclared identifier 'CL_COMMAND_SVM_FREE'
  PI_COMMAND_TYPE_SVM_FREE = CL_COMMAND_SVM_FREE,
                             ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:375:32: error: use of undeclared identifier 'CL_COMMAND_SVM_MEMCPY'
  PI_COMMAND_TYPE_SVM_MEMCPY = CL_COMMAND_SVM_MEMCPY,
                               ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:376:33: error: use of undeclared identifier 'CL_COMMAND_SVM_MEMFILL'
  PI_COMMAND_TYPE_SVM_MEMFILL = CL_COMMAND_SVM_MEMFILL,
                                ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:377:29: error: use of undeclared identifier 'CL_COMMAND_SVM_MAP'
  PI_COMMAND_TYPE_SVM_MAP = CL_COMMAND_SVM_MAP,
                            ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:378:31: error: use of undeclared identifier 'CL_COMMAND_SVM_UNMAP'
  PI_COMMAND_TYPE_SVM_UNMAP = CL_COMMAND_SVM_UNMAP
                              ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:405:33: error: use of undeclared identifier 'CL_ABGR'
  PI_IMAGE_CHANNEL_ORDER_ABGR = CL_ABGR,
                                ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:444:37: error: use of undeclared identifier 'CL_SAMPLER_MIP_FILTER_MODE'; did you mean 'PI_SAMPLER_INFO_FILTER_MODE'?
  PI_SAMPLER_INFO_MIP_FILTER_MODE = CL_SAMPLER_MIP_FILTER_MODE,
                                    ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:443:3: note: 'PI_SAMPLER_INFO_FILTER_MODE' declared here
  PI_SAMPLER_INFO_FILTER_MODE = CL_SAMPLER_FILTER_MODE,
  ^
/home/drnoob/sycl_workspace/llvm/build/bin/../include/sycl/CL/sycl/detail/pi.h:445:29: error: use of undeclared identifier 'CL_SAMPLER_LOD_MIN'
  PI_SAMPLER_INFO_LOD_MIN = CL_SAMPLER_LOD_MIN,
                            ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

Expected behavior

Expected a successful build.

@Dr-Noob Dr-Noob added the sighting Suspicious library behavior. Should be promoted to a bug when confirmed label Nov 12, 2020
@vpirogov
Copy link
Member

@Dr-Noob, this looks like an issue with DPC++ Compiler. See discussion in intel/llvm#2617.

@dzarukin
Copy link
Contributor

Sorry for the mess, answered in a wrong tracker. So I've added the work around information in the original issue which we use on our side to make it work out-of-the-box. This should resolve OpenCL build stuff once DOPENCLROOT=/path/to/compiler/root/folder (which is /compiler) is passed to CMake line.

Thanks.

@Dr-Noob
Copy link
Contributor Author

Dr-Noob commented Nov 13, 2020

Problem solved. Build completes successfully with your instructions. What I did was:

[drnoob@xeon sycl_workspace]$ ln -s ~/sycl_workspace/llvm/build/include/sycl/CL ~/sycl_workspace/llvm/build/include/

but also changed my build configuration because DOPENCLROOT was wrong. The working build.sh:

[drnoob@xeon build]$ cat build.sh
export SYCL_HOME=~/sycl_workspace
export ONEDNN_HOME=$SYCL_HOME/oneDNN/
export DPCPP_HOME=$SYCL_HOME/llvm/build/bin/

mkdir -p $ONEDNN_HOME/install/

export CC=$DPCPP_HOME/clang
export CXX=$DPCPP_HOME/clang++

cmake -DDNNL_CPU_RUNTIME=DPCPP -DDNNL_GPU_RUNTIME=DPCPP \
      -DDNNL_GPU_VENDOR=NVIDIA -G Ninja \
      -DOPENCLROOT=$SYCL_HOME/llvm/build/ \
      -DCUDA_TOOLKIT_ROOT_DIR=/path/cuda-10.2 \
      -DCUBLAS_INCLUDE_DIR=/path/cuda-10.2/targets/x86_64-linux/include/ \
      -DCUBLAS_LIBRARY=/path/cuda-10.2/targets/x86_64-linux/lib/libcublas.so \
      -DCUDNN_INCLUDE_DIR=/path/cuda-10.2/include/ \
      -DCUDNN_LIBRARY=/path/cuda-10.2/targets/x86_64-linux/lib/libcudnn.so.7 \
      -DCMAKE_CXX_FLAGS=-Wl,-rpath,/path/cuda-10.2/targets/x86_64-linux/lib/ \
      -DCMAKE_C_FLAGS=-Wl,-rpath,/path/cuda-10.2/targets/x86_64-linux/lib/ \
      -DCMAKE_INSTALL_PREFIX=$ONEDNN_HOME/install/ ..

ninja

cmake --build . --target install

Note that I'm not using CUDA 11.0, but 10.2 instead. At first I installed cuDNN 8.5 and my build failed with:

[338/862] Building CXX object src/gpu/nvidia/CMakeFiles/dnnl_sycl_nvidia.dir/cudnn_inner_product.cpp.o
FAILED: src/gpu/nvidia/CMakeFiles/dnnl_sycl_nvidia.dir/cudnn_inner_product.cpp.o 
/home/drnoob/sycl_workspace/llvm/build/bin/clang++  -DCUDA_NO_HALF -DDNNL_DLL -DDNNL_DLL_EXPORTS -DDNNL_ENABLE_MAX_CPU_ISA -DDNNL_X64=1 -DNGEN_CPP11 -DNGEN_NEO_INTERFACE -DNGEN_NO_OP_NAMES -DNGEN_SAFE -DNGEN_WINDOWS_COMPAT -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I/opt/intel/compilers_and_libraries_2020.2.254/linux/tbb/include -I../include -Iinclude -I../src -I/home/drnoob/sycl_workspace/llvm/build/include -I/home/modules/cuda-11.0/include -I/home/modules/cuda-11.0/targets/x86_64-linux/include -Wl,-rpath,/home/modules/cuda-10.2/targets/x86_64-linux/lib/ -std=c++11 -fsycl -fvisibility-inlines-hidden  -Wall -Wno-unknown-pragmas -w -fvisibility=internal -msse4.1 -fPIC -Wformat -Wformat-security -fstack-protector-all   -Wno-pass-failed  -O2 -DNDEBUG -D_FORTIFY_SOURCE=2 -MD -MT src/gpu/nvidia/CMakeFiles/dnnl_sycl_nvidia.dir/cudnn_inner_product.cpp.o -MF src/gpu/nvidia/CMakeFiles/dnnl_sycl_nvidia.dir/cudnn_inner_product.cpp.o.d -o src/gpu/nvidia/CMakeFiles/dnnl_sycl_nvidia.dir/cudnn_inner_product.cpp.o -c ../src/gpu/nvidia/cudnn_inner_product.cpp
In file included from ../src/gpu/nvidia/cudnn_inner_product.cpp:19:
In file included from ../src/gpu/nvidia/cudnn_conv_inner_product.hpp:28:
../src/gpu/nvidia/cudnn_conv_inner_product_impl.hpp:283:13: error: unknown type name 'cudnnConvolutionFwdPreference_t'
            cudnnConvolutionFwdPreference_t algo_pref
            ^
../src/gpu/nvidia/cudnn_conv_inner_product_impl.hpp:284:23: error: use of undeclared identifier 'CUDNN_CONVOLUTION_FWD_PREFER_FASTEST'
                    = CUDNN_CONVOLUTION_FWD_PREFER_FASTEST;
                      ^
../src/gpu/nvidia/cudnn_conv_inner_product_impl.hpp:495:9: error: unknown type name 'cudnnConvolutionBwdDataPreference_t'; did you mean 'cudnnConvolutionBwdDataAlgoPerf_t'?
        cudnnConvolutionBwdDataPreference_t algo_pref
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        cudnnConvolutionBwdDataAlgoPerf_t
/home/modules/cuda-11.0/include/cudnn_cnn_infer.h:304:3: note: 'cudnnConvolutionBwdDataAlgoPerf_t' declared here
} cudnnConvolutionBwdDataAlgoPerf_t;
  ^
In file included from ../src/gpu/nvidia/cudnn_inner_product.cpp:19:
In file included from ../src/gpu/nvidia/cudnn_conv_inner_product.hpp:28:
../src/gpu/nvidia/cudnn_conv_inner_product_impl.hpp:496:19: error: use of undeclared identifier 'CUDNN_CONVOLUTION_BWD_DATA_PREFER_FASTEST'
                = CUDNN_CONVOLUTION_BWD_DATA_PREFER_FASTEST;
                  ^
../src/gpu/nvidia/cudnn_conv_inner_product_impl.hpp:498:28: error: use of undeclared identifier 'cudnnGetConvolutionBackwardDataAlgorithm'; did you mean 'cudnnGetConvolutionBackwardDataAlgorithm_v7'?
        CUDNN_EXECUTE_FUNC(cudnnGetConvolutionBackwardDataAlgorithm, handle,
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                           cudnnGetConvolutionBackwardDataAlgorithm_v7
../src/gpu/nvidia/sycl_cuda_utils.hpp:403:20: note: expanded from macro 'CUDNN_EXECUTE_FUNC'
        auto err = name(__VA_ARGS__); \
                   ^
/home/modules/cuda-11.0/include/cudnn_cnn_infer.h:335:1: note: 'cudnnGetConvolutionBackwardDataAlgorithm_v7' declared here
cudnnGetConvolutionBackwardDataAlgorithm_v7(cudnnHandle_t handle,
^
In file included from ../src/gpu/nvidia/cudnn_inner_product.cpp:19:
In file included from ../src/gpu/nvidia/cudnn_conv_inner_product.hpp:28:
../src/gpu/nvidia/cudnn_conv_inner_product_impl.hpp:500:41: error: no viable conversion from 'cudnnConvolutionBwdDataAlgoPerf_t' to 'int'
                tensor_descs_[io::src], algo_pref, 0, &algo_);
                                        ^~~~~~~~~
../src/gpu/nvidia/sycl_cuda_utils.hpp:403:25: note: expanded from macro 'CUDNN_EXECUTE_FUNC'
        auto err = name(__VA_ARGS__); \
                        ^~~~~~~~~~~
/home/modules/cuda-11.0/include/cudnn_cnn_infer.h:340:55: note: passing argument to parameter 'requestedAlgoCount' here
                                            const int requestedAlgoCount,
                                                      ^
In file included from ../src/gpu/nvidia/cudnn_inner_product.cpp:19:
In file included from ../src/gpu/nvidia/cudnn_conv_inner_product.hpp:28:
../src/gpu/nvidia/cudnn_conv_inner_product_impl.hpp:650:9: error: unknown type name 'cudnnConvolutionBwdFilterPreference_t'; did you mean 'cudnnConvolutionBwdFilterAlgoPerf_t'?
        cudnnConvolutionBwdFilterPreference_t algo_pref
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        cudnnConvolutionBwdFilterAlgoPerf_t
/home/modules/cuda-11.0/include/cudnn_cnn_train.h:87:3: note: 'cudnnConvolutionBwdFilterAlgoPerf_t' declared here
} cudnnConvolutionBwdFilterAlgoPerf_t;
  ^
In file included from ../src/gpu/nvidia/cudnn_inner_product.cpp:19:
In file included from ../src/gpu/nvidia/cudnn_conv_inner_product.hpp:28:
../src/gpu/nvidia/cudnn_conv_inner_product_impl.hpp:651:19: error: use of undeclared identifier 'CUDNN_CONVOLUTION_BWD_FILTER_PREFER_FASTEST'
                = CUDNN_CONVOLUTION_BWD_FILTER_PREFER_FASTEST;
                  ^
../src/gpu/nvidia/cudnn_conv_inner_product_impl.hpp:653:28: error: use of undeclared identifier 'cudnnGetConvolutionBackwardFilterAlgorithm'; did you mean 'cudnnGetConvolutionBackwardFilterAlgorithm_v7'?
        CUDNN_EXECUTE_FUNC(cudnnGetConvolutionBackwardFilterAlgorithm, handle,
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                           cudnnGetConvolutionBackwardFilterAlgorithm_v7
../src/gpu/nvidia/sycl_cuda_utils.hpp:403:20: note: expanded from macro 'CUDNN_EXECUTE_FUNC'
        auto err = name(__VA_ARGS__); \
                   ^
/home/modules/cuda-11.0/include/cudnn_cnn_train.h:118:1: note: 'cudnnGetConvolutionBackwardFilterAlgorithm_v7' declared here
cudnnGetConvolutionBackwardFilterAlgorithm_v7(cudnnHandle_t handle,
^
In file included from ../src/gpu/nvidia/cudnn_inner_product.cpp:19:
In file included from ../src/gpu/nvidia/cudnn_conv_inner_product.hpp:28:
../src/gpu/nvidia/cudnn_conv_inner_product_impl.hpp:655:31: error: no viable conversion from 'cudnnConvolutionBwdFilterAlgoPerf_t' to 'int'
                filter_desc_, algo_pref, 0, &algo_);
                              ^~~~~~~~~
../src/gpu/nvidia/sycl_cuda_utils.hpp:403:25: note: expanded from macro 'CUDNN_EXECUTE_FUNC'
        auto err = name(__VA_ARGS__); \
                        ^~~~~~~~~~~
/home/modules/cuda-11.0/include/cudnn_cnn_train.h:123:57: note: passing argument to parameter 'requestedAlgoCount' here
                                              const int requestedAlgoCount,
                                                        ^
10 errors generated.

I think that the README.md is misleading since says you need "cuDNN 7.6 or later", but I think that cuDNN 8 is not supported. For example, cudnnConvolutionFwdPreference_tis needed in oneDNN but got removed in cuDNN 8 (see API Reference). If this is the case, I would change README to state that cuDNN 8 won't work.

Closing the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants