{"action":"closed","issue":{"url":"https://api.github.com/repos/andersbll/cudarray/issues/59","repository_url":"https://api.github.com/repos/andersbll/cudarray","labels_url":"https://api.github.com/repos/andersbll/cudarray/issues/59/labels{/name}","comments_url":"https://api.github.com/repos/andersbll/cudarray/issues/59/comments","events_url":"https://api.github.com/repos/andersbll/cudarray/issues/59/events","html_url":"https://github.com/andersbll/cudarray/issues/59","id":160119091,"number":59,"title":"Compilation error: ‘cudnnConvolutionBwdFilterAlgo_t’ does not name a type","user":{"login":"gentakojima","id":2670279,"avatar_url":"https://avatars.githubusercontent.com/u/2670279?v=3","gravatar_id":"","url":"https://api.github.com/users/gentakojima","html_url":"https://github.com/gentakojima","followers_url":"https://api.github.com/users/gentakojima/followers","following_url":"https://api.github.com/users/gentakojima/following{/other_user}","gists_url":"https://api.github.com/users/gentakojima/gists{/gist_id}","starred_url":"https://api.github.com/users/gentakojima/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gentakojima/subscriptions","organizations_url":"https://api.github.com/users/gentakojima/orgs","repos_url":"https://api.github.com/users/gentakojima/repos","events_url":"https://api.github.com/users/gentakojima/events{/privacy}","received_events_url":"https://api.github.com/users/gentakojima/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-06-14T07:56:57Z","updated_at":"2016-06-15T16:33:46Z","closed_at":"2016-06-15T16:33:46Z","body":"I get this error compiling in Ubuntu 14.04. Other than that, I uninstalled cython and installed the latest version using pip, since the cython in the distribution was older than required. Using Cuda 7.5 from the Nvidia repos for ubuntu.\r\n\r\nCompiling without setting `CUDNN_ENABLED=1` works ok, but I don't want that, obviously :smile: \r\n\r\n```\r\ng++ -DCUDNN_ENABLED -O3 -fPIC -Wall -Wfatal-errors -I./include -I/usr/local/cuda/include -c -o src/nnet/cudnn.o src/nnet/cudnn.cpp\r\nIn file included from src/nnet/cudnn.cpp:5:0:\r\n./include/cudarray/nnet/cudnn.hpp:71:3: error: ‘cudnnConvolutionBwdFilterAlgo_t’ does not name a type\r\n   cudnnConvolutionBwdFilterAlgo_t bwd_filters_algo;\r\n   ^\r\ncompilation terminated due to -Wfatal-errors.\r\n```\r\n\r\nIf I remove the `-Wfatal-errors` from the Makefile, I get even more errors:\r\n\r\n```\r\ng++ -DCUDNN_ENABLED -O3 -fPIC -I./include -I/usr/local/cuda/include -c -o src/nnet/cudnn.o src/nnet/cudnn.cpp\r\nIn file included from src/nnet/cudnn.cpp:5:0:\r\n./include/cudarray/nnet/cudnn.hpp:71:3: error: ‘cudnnConvolutionBwdFilterAlgo_t’ does not name a type\r\n   cudnnConvolutionBwdFilterAlgo_t bwd_filters_algo;\r\n   ^\r\n./include/cudarray/nnet/cudnn.hpp:72:3: error: ‘cudnnConvolutionBwdDataAlgo_t’ does not name a type\r\n   cudnnConvolutionBwdDataAlgo_t bwd_imgs_algo;\r\n   ^\r\nsrc/nnet/cudnn.cpp: In member function ‘void cudarray::PoolBC01CuDNN<T>::fprop(const T*, int*, T*)’:\r\nsrc/nnet/cudnn.cpp:75:31: error: ‘CUDNN_PROPAGATE_NAN’ was not declared in this scope\r\n         pool_desc, pool_mode, CUDNN_PROPAGATE_NAN, n_img_dims, win_shape,\r\n                               ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp: In member function ‘void cudarray::ConvBC01CuDNN<T>::fprop(const T*, const T*, int, int, int, int, int, int, int, T*)’:\r\nsrc/nnet/cudnn.cpp:159:5: error: too many arguments to function ‘cudnnStatus_t cudnnSetFilter4dDescriptor(cudnnFilterDescriptor_t, cudnnDataType_t, int, int, int, int)’\r\n     ));\r\n     ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nIn file included from ./include/cudarray/nnet/cudnn.hpp:8:0,\r\n                 from src/nnet/cudnn.cpp:5:\r\n/usr/local/include/cudnn.h:267:27: note: declared here\r\n cudnnStatus_t CUDNNWINAPI cudnnSetFilter4dDescriptor(  cudnnFilterDescriptor_t filterDesc,\r\n                           ^\r\nsrc/nnet/cudnn.cpp:179:5: error: ‘cudnnConvolutionFwdAlgoPerf_t’ was not declared in this scope\r\n     cudnnConvolutionFwdAlgoPerf_t fwd_algo_perf[n_requestedAlgo];\r\n     ^\r\nsrc/nnet/cudnn.cpp:179:35: error: expected ‘;’ before ‘fwd_algo_perf’\r\n     cudnnConvolutionFwdAlgoPerf_t fwd_algo_perf[n_requestedAlgo];\r\n                                   ^\r\nIn file included from src/nnet/cudnn.cpp:5:0:\r\nsrc/nnet/cudnn.cpp:182:43: error: ‘fwd_algo_perf’ was not declared in this scope\r\n         n_requestedAlgo, &n_returnedAlgo, fwd_algo_perf\r\n                                           ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp:183:5: error: there are no arguments to ‘cudnnFindConvolutionForwardAlgorithm’ that depend on a template parameter, so a declaration of ‘cudnnFindConvolutionForwardAlgorithm’ must be available [-fpermissive]\r\n     ));\r\n     ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp:183:5: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)\r\n     ));\r\n     ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp:188:16: error: ‘fwd_algo_perf’ was not declared in this scope\r\n     fwd_algo = fwd_algo_perf[0].algo;\r\n                ^\r\nsrc/nnet/cudnn.cpp:189:5: error: ‘cudnnConvolutionBwdDataAlgoPerf_t’ was not declared in this scope\r\n     cudnnConvolutionBwdDataAlgoPerf_t bwd_data_algo_perf[n_requestedAlgo];\r\n     ^\r\nsrc/nnet/cudnn.cpp:189:39: error: expected ‘;’ before ‘bwd_data_algo_perf’\r\n     cudnnConvolutionBwdDataAlgoPerf_t bwd_data_algo_perf[n_requestedAlgo];\r\n                                       ^\r\nIn file included from src/nnet/cudnn.cpp:5:0:\r\nsrc/nnet/cudnn.cpp:192:43: error: ‘bwd_data_algo_perf’ was not declared in this scope\r\n         n_requestedAlgo, &n_returnedAlgo, bwd_data_algo_perf\r\n                                           ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp:193:5: error: there are no arguments to ‘cudnnFindConvolutionBackwardDataAlgorithm’ that depend on a template parameter, so a declaration of ‘cudnnFindConvolutionBackwardDataAlgorithm’ must be available [-fpermissive]\r\n     ));\r\n     ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp:198:5: error: ‘bwd_imgs_algo’ was not declared in this scope\r\n     bwd_imgs_algo = bwd_data_algo_perf[0].algo;\r\n     ^\r\nsrc/nnet/cudnn.cpp:198:21: error: ‘bwd_data_algo_perf’ was not declared in this scope\r\n     bwd_imgs_algo = bwd_data_algo_perf[0].algo;\r\n                     ^\r\nsrc/nnet/cudnn.cpp:199:5: error: ‘cudnnConvolutionBwdFilterAlgoPerf_t’ was not declared in this scope\r\n     cudnnConvolutionBwdFilterAlgoPerf_t bwd_filters_algo_perf[n_requestedAlgo];\r\n     ^\r\nsrc/nnet/cudnn.cpp:199:41: error: expected ‘;’ before ‘bwd_filters_algo_perf’\r\n     cudnnConvolutionBwdFilterAlgoPerf_t bwd_filters_algo_perf[n_requestedAlgo];\r\n                                         ^\r\nIn file included from src/nnet/cudnn.cpp:5:0:\r\nsrc/nnet/cudnn.cpp:202:43: error: ‘bwd_filters_algo_perf’ was not declared in this scope\r\n         n_requestedAlgo, &n_returnedAlgo, bwd_filters_algo_perf\r\n                                           ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp:203:5: error: there are no arguments to ‘cudnnFindConvolutionBackwardFilterAlgorithm’ that depend on a template parameter, so a declaration of ‘cudnnFindConvolutionBackwardFilterAlgorithm’ must be available [-fpermissive]\r\n     ));\r\n     ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp:207:5: error: ‘bwd_filters_algo’ was not declared in this scope\r\n     bwd_filters_algo = bwd_filters_algo_perf[0].algo;\r\n     ^\r\nsrc/nnet/cudnn.cpp:207:24: error: ‘bwd_filters_algo_perf’ was not declared in this scope\r\n     bwd_filters_algo = bwd_filters_algo_perf[0].algo;\r\n                        ^\r\nIn file included from src/nnet/cudnn.cpp:5:0:\r\nsrc/nnet/cudnn.cpp:218:5: error: there are no arguments to ‘cudnnGetConvolutionBackwardDataWorkspaceSize’ that depend on a template parameter, so a declaration of ‘cudnnGetConvolutionBackwardDataWorkspaceSize’ must be available [-fpermissive]\r\n     ));\r\n     ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp:222:5: error: there are no arguments to ‘cudnnGetConvolutionBackwardFilterWorkspaceSize’ that depend on a template parameter, so a declaration of ‘cudnnGetConvolutionBackwardFilterWorkspaceSize’ must be available [-fpermissive]\r\n     ));\r\n     ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp: In member function ‘void cudarray::ConvBC01CuDNN<T>::bprop(const T*, const T*, const T*, T*, T*)’:\r\nsrc/nnet/cudnn.cpp:248:18: error: ‘bwd_filters_algo’ was not declared in this scope\r\n       conv_desc, bwd_filters_algo, workspace, workspace_size, &CUDNN::zero,\r\n                  ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp:255:29: error: ‘bwd_imgs_algo’ was not declared in this scope\r\n       convout_d, conv_desc, bwd_imgs_algo, workspace, workspace_size,\r\n                             ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp: In instantiation of ‘void cudarray::ConvBC01CuDNN<T>::fprop(const T*, const T*, int, int, int, int, int, int, int, T*) [with T = float]’:\r\nsrc/nnet/cudnn.cpp:261:16:   required from here\r\nsrc/nnet/cudnn.cpp:159:5: error: too many arguments to function ‘cudnnStatus_t cudnnSetFilter4dDescriptor(cudnnFilterDescriptor_t, cudnnDataType_t, int, int, int, int)’\r\n     ));\r\n     ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nIn file included from ./include/cudarray/nnet/cudnn.hpp:8:0,\r\n                 from src/nnet/cudnn.cpp:5:\r\n/usr/local/include/cudnn.h:267:27: note: declared here\r\n cudnnStatus_t CUDNNWINAPI cudnnSetFilter4dDescriptor(  cudnnFilterDescriptor_t filterDesc,\r\n                           ^\r\nIn file included from src/nnet/cudnn.cpp:5:0:\r\nsrc/nnet/cudnn.cpp:183:5: error: ‘cudnnFindConvolutionForwardAlgorithm’ was not declared in this scope\r\n     ));\r\n     ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp:193:5: error: ‘cudnnFindConvolutionBackwardDataAlgorithm’ was not declared in this scope\r\n     ));\r\n     ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp:203:5: error: ‘cudnnFindConvolutionBackwardFilterAlgorithm’ was not declared in this scope\r\n     ));\r\n     ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp:218:5: error: ‘cudnnGetConvolutionBackwardDataWorkspaceSize’ was not declared in this scope\r\n     ));\r\n     ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nsrc/nnet/cudnn.cpp:222:5: error: ‘cudnnGetConvolutionBackwardFilterWorkspaceSize’ was not declared in this scope\r\n     ));\r\n     ^\r\n./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’\r\n #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }\r\n                                            ^\r\nmake: *** [src/nnet/cudnn.o] Error 1\r\n```"}}
{"actor":{"display_login":"gentakojima"}}