Incubator-mxnet: Installation with GPU on Fedora 27?

Created on 11 Feb 2018  Â·  14Comments  Â·  Source: apache/incubator-mxnet

Hi, was anyone successful to compile MXNET with GPU support on Fedora 27? I can successfully compile it with the CPU, but for GPU, I think because installed directories are different from the presumed locations it causes some problems. Here is my cuda directories (installed, NVidia driver, CUDA and cuDNN from negativo17 repository)
`$find / -type d -name cuda 2>/dev/null

/usr/share/cuda
/usr/include/opencv2/core/cuda
/usr/include/cuda
/usr/include/cuda/thrust/system/cuda
/usr/libexec/cuda
`

and here is the error

$ make -j $(nproc) USE_OPENCV=1 USE_BLAS=openblas USE_CUDA=1 USE_CUDA_PATH=/usr/include/cuda USE_CUDNN=1 Makefile:243: WARNING: Significant performance increases can be achieved by installing and enabling gperftools or jemalloc development packages Running CUDA_ARCH: cd /home/mehran/Desktop/incubator-mxnet/dmlc-core; make libdmlc.a USE_SSE=1 config=/home/mehran/Desktop/incubator-mxnet/make/config.mk; cd /home/mehran/Desktop/incubator-mxnet make[1]: Entering directory '/home/mehran/Desktop/incubator-mxnet/dmlc-core' /usr/include/cuda/bin/nvcc -std=c++11 -Xcompiler -D_FORCE_INLINES -O3 -ccbin g++ -Xcompiler "-DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/home/mehran/Desktop/incubator-mxnet/mshadow/ -I/home/mehran/Desktop/incubator-mxnet/dmlc-core/include -fPIC -I/home/mehran/Desktop/incubator-mxnet/nnvm/include -I/home/mehran/Desktop/incubator-mxnet/dlpack/include -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -msse3 -I/usr/include/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 -I/usr/include/opencv -fopenmp -DMXNET_USE_OPERATOR_TUNING=1 -DMXNET_USE_LAPACK -DMSHADOW_USE_CUDNN=1 -I/home/mehran/Desktop/incubator-mxnet/3rdparty/cub -DMXNET_ENABLE_CUDA_RTC=1 -DMXNET_USE_NCCL=0 -DMXNET_USE_LIBJPEG_TURBO=0" -M -MT build/src/operator/nn/cudnn/cudnn_batch_norm_gpu.o src/operator/nn/cudnn/cudnn_batch_norm.cu >build/src/operator/nn/cudnn/cudnn_batch_norm_gpu.d /bin/sh: /usr/include/cuda/bin/nvcc: No such file or directory make: *** [Makefile:398: build/src/operator/nn/cudnn/cudnn_batch_norm_gpu.o] Error 127 make: *** Waiting for unfinished jobs.... /usr/include/cuda/bin/nvcc -std=c++11 -Xcompiler -D_FORCE_INLINES -O3 -ccbin g++ -Xcompiler "-DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/home/mehran/Desktop/incubator-mxnet/mshadow/ -I/home/mehran/Desktop/incubator-mxnet/dmlc-core/include -fPIC -I/home/mehran/Desktop/incubator-mxnet/nnvm/include -I/home/mehran/Desktop/incubator-mxnet/dlpack/include -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -msse3 -I/usr/include/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 -I/usr/include/opencv -fopenmp -DMXNET_USE_OPERATOR_TUNING=1 -DMXNET_USE_LAPACK -DMSHADOW_USE_CUDNN=1 -I/home/mehran/Desktop/incubator-mxnet/3rdparty/cub -DMXNET_ENABLE_CUDA_RTC=1 -DMXNET_USE_NCCL=0 -DMXNET_USE_LIBJPEG_TURBO=0" -M -MT build/src/operator/contrib/dequantize_gpu.o src/operator/contrib/dequantize.cu >build/src/operator/contrib/dequantize_gpu.d /bin/sh: /usr/include/cuda/bin/nvcc: No such file or directory make: *** [Makefile:398: build/src/operator/contrib/dequantize_gpu.o] Error 127 make[1]: 'libdmlc.a' is up to date. make[1]: Leaving directory '/home/mehran/Desktop/incubator-mxnet/dmlc-core'

Build Pending Requester Info

Most helpful comment

One can compile with gcc-7 using:
ADD_CFLAGS = -fpermissive
config.mk

All 14 comments

The previous problem was from negativo17 repository, changed the installation to the method described in https://rpmfusion.org/Howto/NVIDIA and that problem was solved but still cannot compile the program

make -j $(nproc) USE_OPENCV=1 USE_BLAS=openblas USE_CUDA=1 USE_CUDA_PATH=/usr/local/cuda USE_CUDNN=1 Makefile:243: WARNING: Significant performance increases can be achieved by installing and enabling gperftools or jemalloc development packages Running CUDA_ARCH: g++ -std=c++11 -c -DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/home/mehran/Desktop/incubator-mxnet/mshadow/ -I/home/mehran/Desktop/incubator-mxnet/dmlc-core/include -fPIC -I/home/mehran/Desktop/incubator-mxnet/nnvm/include -I/home/mehran/Desktop/incubator-mxnet/dlpack/include -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -msse3 -I/usr/local/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 -I/usr/include/opencv -fopenmp -DMXNET_USE_OPERATOR_TUNING=1 -DMSHADOW_USE_CUDNN=1 -I/home/mehran/Desktop/incubator-mxnet/3rdparty/cub -DMXNET_ENABLE_CUDA_RTC=1 -DMXNET_USE_NCCL=0 -DMXNET_USE_LIBJPEG_TURBO=0 -MMD -c src/operator/nn/cudnn/cudnn_batch_norm.cc -o build/src/operator/nn/cudnn/cudnn_batch_norm.o g++ -std=c++11 -c -DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/home/mehran/Desktop/incubator-mxnet/mshadow/ -I/home/mehran/Desktop/incubator-mxnet/dmlc-core/include -fPIC -I/home/mehran/Desktop/incubator-mxnet/nnvm/include -I/home/mehran/Desktop/incubator-mxnet/dlpack/include -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -msse3 -I/usr/local/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 -I/usr/include/opencv -fopenmp -DMXNET_USE_OPERATOR_TUNING=1 -DMSHADOW_USE_CUDNN=1 -I/home/mehran/Desktop/incubator-mxnet/3rdparty/cub -DMXNET_ENABLE_CUDA_RTC=1 -DMXNET_USE_NCCL=0 -DMXNET_USE_LIBJPEG_TURBO=0 -MMD -c src/operator/nn/cudnn/cudnn_algoreg.cc -o build/src/operator/nn/cudnn/cudnn_algoreg.o g++ -std=c++11 -c -DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/home/mehran/Desktop/incubator-mxnet/mshadow/ -I/home/mehran/Desktop/incubator-mxnet/dmlc-core/include -fPIC -I/home/mehran/Desktop/incubator-mxnet/nnvm/include -I/home/mehran/Desktop/incubator-mxnet/dlpack/include -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -msse3 -I/usr/local/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 -I/usr/include/opencv -fopenmp -DMXNET_USE_OPERATOR_TUNING=1 -DMSHADOW_USE_CUDNN=1 -I/home/mehran/Desktop/incubator-mxnet/3rdparty/cub -DMXNET_ENABLE_CUDA_RTC=1 -DMXNET_USE_NCCL=0 -DMXNET_USE_LIBJPEG_TURBO=0 -MMD -c src/operator/contrib/multibox_target.cc -o build/src/operator/contrib/multibox_target.o g++ -std=c++11 -c -DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/home/mehran/Desktop/incubator-mxnet/mshadow/ -I/home/mehran/Desktop/incubator-mxnet/dmlc-core/include -fPIC -I/home/mehran/Desktop/incubator-mxnet/nnvm/include -I/home/mehran/Desktop/incubator-mxnet/dlpack/include -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -msse3 -I/usr/local/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 -I/usr/include/opencv -fopenmp -DMXNET_USE_OPERATOR_TUNING=1 -DMSHADOW_USE_CUDNN=1 -I/home/mehran/Desktop/incubator-mxnet/3rdparty/cub -DMXNET_ENABLE_CUDA_RTC=1 -DMXNET_USE_NCCL=0 -DMXNET_USE_LIBJPEG_TURBO=0 -MMD -c src/operator/contrib/proposal.cc -o build/src/operator/contrib/proposal.o In file included from include/mxnet/./resource.h:31:0, from include/mxnet/operator.h:39, from src/operator/nn/cudnn/./../convolution-inl.h:33, from src/operator/nn/cudnn/./cudnn_algoreg-inl.h:34, from src/operator/nn/cudnn/cudnn_algoreg.cc:26: include/mxnet/./../../src/common/random_generator.h: In static member function ‘static void mxnet::common::random::RandGenerator<mshadow::gpu, DType>::AllocState(mxnet::common::random::RandGenerator<mshadow::gpu, DType>*)’: include/mxnet/./../../src/common/random_generator.h:154:5: error: there are no arguments to ‘CUDA_CALL’ that depend on a template parameter, so a declaration of ‘CUDA_CALL’ must be available [-fpermissive] CUDA_CALL(cudaMalloc(&inst->states_, ^~~~~~~~~ include/mxnet/./../../src/common/random_generator.h:154:5: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) include/mxnet/./../../src/common/random_generator.h: In static member function ‘static void mxnet::common::random::RandGenerator<mshadow::gpu, DType>::FreeState(mxnet::common::random::RandGenerator<mshadow::gpu, DType>*)’: include/mxnet/./../../src/common/random_generator.h:159:5: error: there are no arguments to ‘CUDA_CALL’ that depend on a template parameter, so a declaration of ‘CUDA_CALL’ must be available [-fpermissive] CUDA_CALL(cudaFree(inst->states_)); ^~~~~~~~~ In file included from src/operator/nn/cudnn/./../../linalg.h:31:0, from src/operator/nn/cudnn/./../convolution-inl.h:43, from src/operator/nn/cudnn/./cudnn_algoreg-inl.h:34, from src/operator/nn/cudnn/cudnn_algoreg.cc:26: src/operator/nn/cudnn/./../.././c_lapack_api.h: At global scope: src/operator/nn/cudnn/./../.././c_lapack_api.h:330:25: note: #pragma message: Warning: lapack usage not enabled, linalg-operators will not be available. Ensure that lapack library is installed and build with USE_LAPACK=1 to get lapack functionalities. " functionalities.") ^ make: *** [Makefile:394: build/src/operator/nn/cudnn/cudnn_algoreg.o] Error 1 make: *** Waiting for unfinished jobs....

@cjolivier01

@marcoabreu

Why would it think CUDA_CALL is a template?

Hi, if CUDA library path is the issue, did you try compiling by passing the CUDA path. Something like below.

make -j $(nproc) USE_OPENCV=1 USE_BLAS=openblas USE_CUDA=1 USE_CUDA_PATH=/usr/local/cuda USE_CUDNN=1

@sandeep-krishnamurthy I tried that but it did not work in the end I had to reinstall the CUDA and NVIDIA driver with a different repository. Nevertheless, it seems that the problem is not CUDA anymore.

BTW here is the error with a clean install (e.g., without compiling the CPU version first)
git clone --recursive https://github.com/apache/incubator-mxnet Cloning into 'incubator-mxnet'... remote: Counting objects: 56856, done. remote: Compressing objects: 100% (6/6), done. remote: Total 56856 (delta 1), reused 1 (delta 0), pack-reused 56850 Receiving objects: 100% (56856/56856), 32.33 MiB | 3.19 MiB/s, done. Resolving deltas: 100% (36595/36595), done. Submodule 'cub' (https://github.com/dmlc/cub) registered for path '3rdparty/cub' Submodule '3rdparty/googletest' (https://github.com/google/googletest.git) registered for path '3rdparty/googletest' Submodule '3rdparty/openmp' (https://github.com/llvm-mirror/openmp) registered for path '3rdparty/openmp' Submodule 'dlpack' (https://github.com/dmlc/dlpack) registered for path 'dlpack' Submodule 'dmlc-core' (https://github.com/dmlc/dmlc-core.git) registered for path 'dmlc-core' Submodule 'mshadow' (https://github.com/dmlc/mshadow.git) registered for path 'mshadow' Submodule 'nnvm' (https://github.com/dmlc/nnvm) registered for path 'nnvm' Submodule 'ps-lite' (https://github.com/dmlc/ps-lite) registered for path 'ps-lite' Cloning into '/home/mehran/Desktop/incubator-mxnet/3rdparty/cub'... remote: Counting objects: 190, done. remote: Total 190 (delta 0), reused 0 (delta 0), pack-reused 190 Receiving objects: 100% (190/190), 498.22 KiB | 994.00 KiB/s, done. Resolving deltas: 100% (58/58), done. Cloning into '/home/mehran/Desktop/incubator-mxnet/3rdparty/googletest'... remote: Counting objects: 10371, done. remote: Compressing objects: 100% (55/55), done. remote: Total 10371 (delta 42), reused 40 (delta 17), pack-reused 10297 Receiving objects: 100% (10371/10371), 3.18 MiB | 2.18 MiB/s, done. Resolving deltas: 100% (7642/7642), done. Cloning into '/home/mehran/Desktop/incubator-mxnet/3rdparty/openmp'... remote: Counting objects: 6874, done. remote: Compressing objects: 100% (79/79), done. remote: Total 6874 (delta 51), reused 103 (delta 40), pack-reused 6749 Receiving objects: 100% (6874/6874), 7.57 MiB | 2.63 MiB/s, done. Resolving deltas: 100% (4993/4993), done. Cloning into '/home/mehran/Desktop/incubator-mxnet/dlpack'... remote: Counting objects: 124, done. remote: Total 124 (delta 0), reused 0 (delta 0), pack-reused 124 Receiving objects: 100% (124/124), 48.55 KiB | 1.31 MiB/s, done. Resolving deltas: 100% (43/43), done. Cloning into '/home/mehran/Desktop/incubator-mxnet/dmlc-core'... remote: Counting objects: 4654, done. remote: Total 4654 (delta 0), reused 0 (delta 0), pack-reused 4654 Receiving objects: 100% (4654/4654), 1.12 MiB | 2.71 MiB/s, done. Resolving deltas: 100% (2766/2766), done. Cloning into '/home/mehran/Desktop/incubator-mxnet/mshadow'... remote: Counting objects: 4546, done. remote: Compressing objects: 100% (17/17), done. remote: Total 4546 (delta 3), reused 7 (delta 0), pack-reused 4529 Receiving objects: 100% (4546/4546), 1.44 MiB | 1.84 MiB/s, done. Resolving deltas: 100% (3114/3114), done. Cloning into '/home/mehran/Desktop/incubator-mxnet/nnvm'... remote: Counting objects: 3249, done. remote: Compressing objects: 100% (33/33), done. remote: Total 3249 (delta 12), reused 15 (delta 6), pack-reused 3209 Receiving objects: 100% (3249/3249), 1.04 MiB | 2.68 MiB/s, done. Resolving deltas: 100% (1894/1894), done. Cloning into '/home/mehran/Desktop/incubator-mxnet/ps-lite'... remote: Counting objects: 2043, done. remote: Total 2043 (delta 0), reused 0 (delta 0), pack-reused 2042 Receiving objects: 100% (2043/2043), 623.02 KiB | 2.13 MiB/s, done. Resolving deltas: 100% (1307/1307), done. Submodule path '3rdparty/cub': checked out '05eb57faa0a4cac37c2a86fdf4b4dc865a95a1a3' Submodule path '3rdparty/googletest': checked out 'ec44c6c1675c25b9827aacd08c02433cccde7780' Submodule path '3rdparty/openmp': checked out '37c72127e90360a020f351f18d9cccfc30e5145a' Submodule path 'dlpack': checked out 'a6e09b58dc00ee0065f5b7879800e646fbb01d1e' Submodule path 'dmlc-core': checked out '2bdcc6dafcd51041fac5c76f04c3baa5a250e679' Submodule path 'mshadow': checked out 'f5b67f380cb0588be11e6f440f92f013139380ee' Submodule path 'nnvm': checked out '7a052d678455f1c96538c1cc5a25f11115363558' Submodule 'dmlc-core' (https://github.com/dmlc/dmlc-core) registered for path 'nnvm/dmlc-core' Submodule 'tvm' (https://github.com/dmlc/tvm) registered for path 'nnvm/tvm' Cloning into '/home/mehran/Desktop/incubator-mxnet/nnvm/dmlc-core'... remote: Counting objects: 4654, done. remote: Total 4654 (delta 0), reused 0 (delta 0), pack-reused 4654 Receiving objects: 100% (4654/4654), 1.12 MiB | 2.64 MiB/s, done. Resolving deltas: 100% (2766/2766), done. Cloning into '/home/mehran/Desktop/incubator-mxnet/nnvm/tvm'... remote: Counting objects: 11194, done. remote: Compressing objects: 100% (16/16), done. remote: Total 11194 (delta 7), reused 3 (delta 3), pack-reused 11175 Receiving objects: 100% (11194/11194), 3.04 MiB | 2.09 MiB/s, done. Resolving deltas: 100% (7628/7628), done. Submodule path 'nnvm/dmlc-core': checked out '04f91953ace74aced3bb317990515304c5425849' Submodule path 'nnvm/tvm': checked out '0824de5489a6f7a9c94a804a7127d7536107edbf' Submodule 'HalideIR' (https://github.com/dmlc/HalideIR) registered for path 'nnvm/tvm/HalideIR' Submodule 'dlpack' (https://github.com/dmlc/dlpack) registered for path 'nnvm/tvm/dlpack' Submodule 'dmlc-core' (https://github.com/dmlc/dmlc-core) registered for path 'nnvm/tvm/dmlc-core' Cloning into '/home/mehran/Desktop/incubator-mxnet/nnvm/tvm/HalideIR'... remote: Counting objects: 253, done. remote: Compressing objects: 100% (16/16), done. remote: Total 253 (delta 10), reused 8 (delta 4), pack-reused 233 Receiving objects: 100% (253/253), 201.83 KiB | 2.35 MiB/s, done. Resolving deltas: 100% (140/140), done. Cloning into '/home/mehran/Desktop/incubator-mxnet/nnvm/tvm/dlpack'... remote: Counting objects: 124, done. remote: Total 124 (delta 0), reused 0 (delta 0), pack-reused 124 Receiving objects: 100% (124/124), 48.55 KiB | 1.24 MiB/s, done. Resolving deltas: 100% (43/43), done. Cloning into '/home/mehran/Desktop/incubator-mxnet/nnvm/tvm/dmlc-core'... remote: Counting objects: 4654, done. remote: Total 4654 (delta 0), reused 0 (delta 0), pack-reused 4654 Receiving objects: 100% (4654/4654), 1.12 MiB | 1.30 MiB/s, done. Resolving deltas: 100% (2766/2766), done. Submodule path 'nnvm/tvm/HalideIR': checked out 'd91cf97d5d6cd2b47ec408bb08e978b88cbf6ab7' Submodule path 'nnvm/tvm/dlpack': checked out '10892ac964f1af7c81aae145cd3fab78bbccd297' Submodule path 'nnvm/tvm/dmlc-core': checked out '04f91953ace74aced3bb317990515304c5425849' Submodule path 'ps-lite': checked out 'aee325276bccb092f516df0bce30d3a8333f4038' [mehran@new-host Desktop]$ cd incubator-mxnet [mehran@new-host incubator-mxnet]$ make -j $(nproc) USE_OPENCV=1 USE_BLAS=openblas USE_CUDA=1 USE_CUDA_PATH=/usr/local/cuda USE_CUDNN=1 Makefile:243: WARNING: Significant performance increases can be achieved by installing and enabling gperftools or jemalloc development packages Running CUDA_ARCH: g++ -std=c++11 -c -DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/home/mehran/Desktop/incubator-mxnet/mshadow/ -I/home/mehran/Desktop/incubator-mxnet/dmlc-core/include -fPIC -I/home/mehran/Desktop/incubator-mxnet/nnvm/include -I/home/mehran/Desktop/incubator-mxnet/dlpack/include -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -msse3 -I/usr/local/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 -I/usr/include/opencv -fopenmp -DMXNET_USE_OPERATOR_TUNING=1 -DMXNET_USE_LAPACK -DMSHADOW_USE_CUDNN=1 -I/home/mehran/Desktop/incubator-mxnet/3rdparty/cub -DMXNET_ENABLE_CUDA_RTC=1 -DMXNET_USE_NCCL=0 -DMXNET_USE_LIBJPEG_TURBO=0 -MMD -c src/operator/nn/cudnn/cudnn_algoreg.cc -o build/src/operator/nn/cudnn/cudnn_algoreg.o g++ -std=c++11 -c -DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/home/mehran/Desktop/incubator-mxnet/mshadow/ -I/home/mehran/Desktop/incubator-mxnet/dmlc-core/include -fPIC -I/home/mehran/Desktop/incubator-mxnet/nnvm/include -I/home/mehran/Desktop/incubator-mxnet/dlpack/include -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -msse3 -I/usr/local/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 -I/usr/include/opencv -fopenmp -DMXNET_USE_OPERATOR_TUNING=1 -DMXNET_USE_LAPACK -DMSHADOW_USE_CUDNN=1 -I/home/mehran/Desktop/incubator-mxnet/3rdparty/cub -DMXNET_ENABLE_CUDA_RTC=1 -DMXNET_USE_NCCL=0 -DMXNET_USE_LIBJPEG_TURBO=0 -MMD -c src/operator/nn/cudnn/cudnn_batch_norm.cc -o build/src/operator/nn/cudnn/cudnn_batch_norm.o g++ -std=c++11 -c -DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/home/mehran/Desktop/incubator-mxnet/mshadow/ -I/home/mehran/Desktop/incubator-mxnet/dmlc-core/include -fPIC -I/home/mehran/Desktop/incubator-mxnet/nnvm/include -I/home/mehran/Desktop/incubator-mxnet/dlpack/include -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -msse3 -I/usr/local/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 -I/usr/include/opencv -fopenmp -DMXNET_USE_OPERATOR_TUNING=1 -DMXNET_USE_LAPACK -DMSHADOW_USE_CUDNN=1 -I/home/mehran/Desktop/incubator-mxnet/3rdparty/cub -DMXNET_ENABLE_CUDA_RTC=1 -DMXNET_USE_NCCL=0 -DMXNET_USE_LIBJPEG_TURBO=0 -MMD -c src/operator/contrib/multibox_target.cc -o build/src/operator/contrib/multibox_target.o g++ -std=c++11 -c -DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/home/mehran/Desktop/incubator-mxnet/mshadow/ -I/home/mehran/Desktop/incubator-mxnet/dmlc-core/include -fPIC -I/home/mehran/Desktop/incubator-mxnet/nnvm/include -I/home/mehran/Desktop/incubator-mxnet/dlpack/include -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs -msse3 -I/usr/local/cuda/include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 -I/usr/include/opencv -fopenmp -DMXNET_USE_OPERATOR_TUNING=1 -DMXNET_USE_LAPACK -DMSHADOW_USE_CUDNN=1 -I/home/mehran/Desktop/incubator-mxnet/3rdparty/cub -DMXNET_ENABLE_CUDA_RTC=1 -DMXNET_USE_NCCL=0 -DMXNET_USE_LIBJPEG_TURBO=0 -MMD -c src/operator/contrib/proposal.cc -o build/src/operator/contrib/proposal.o In file included from include/mxnet/./resource.h:31:0, from include/mxnet/operator.h:39, from src/operator/nn/cudnn/./../convolution-inl.h:33, from src/operator/nn/cudnn/./cudnn_algoreg-inl.h:34, from src/operator/nn/cudnn/cudnn_algoreg.cc:26: include/mxnet/./../../src/common/random_generator.h: In static member function ‘static void mxnet::common::random::RandGenerator<mshadow::gpu, DType>::AllocState(mxnet::common::random::RandGenerator<mshadow::gpu, DType>*)’: include/mxnet/./../../src/common/random_generator.h:154:5: error: there are no arguments to ‘CUDA_CALL’ that depend on a template parameter, so a declaration of ‘CUDA_CALL’ must be available [-fpermissive] CUDA_CALL(cudaMalloc(&inst->states_, ^~~~~~~~~ include/mxnet/./../../src/common/random_generator.h:154:5: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) include/mxnet/./../../src/common/random_generator.h: In static member function ‘static void mxnet::common::random::RandGenerator<mshadow::gpu, DType>::FreeState(mxnet::common::random::RandGenerator<mshadow::gpu, DType>*)’: include/mxnet/./../../src/common/random_generator.h:159:5: error: there are no arguments to ‘CUDA_CALL’ that depend on a template parameter, so a declaration of ‘CUDA_CALL’ must be available [-fpermissive] CUDA_CALL(cudaFree(inst->states_)); ^~~~~~~~~ make: *** [Makefile:393: build/src/operator/nn/cudnn/cudnn_algoreg.o] Error 1 make: *** Waiting for unfinished jobs....

I just ran into the same problem when installing on Ubuntu 17.10. Changing the make config at ./incubator-mxnet/make/config.mk to use gcc-6 worked for me. Ubuntu 17.10 ships with gcc v7, and v6 is required for CUDA / cuDNN as far as I can tell.

To fix, replace the lines:
export CC = gcc
export CXX = g++

with the lines

export CC = gcc-6
export CXX = g++-6

in ./incubator-mxnet/make/config.mk

Hope this helps anyone that stumbles across this issue.

Ubuntu 18.04/Gcc7/cuda9.2 also has this problem when using make, but it’s no problem with cmake.

One can compile with gcc-7 using:
ADD_CFLAGS = -fpermissive
config.mk

Yes, -fpermissive is a solution.

@arnaghizadeh are you still facing the same issue?

@lanking520 Hi, I changed platforms so I can't tell if the problem is resolved or not.

@arnaghizadeh Close it for now. Feel free to reopen this issue if you found this issue has not been solved.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

JonBoyleCoding picture JonBoyleCoding  Â·  3Comments

Zhaoyang-XU picture Zhaoyang-XU  Â·  3Comments

Fzz123 picture Fzz123  Â·  3Comments

phunterlau picture phunterlau  Â·  3Comments

luoruisichuan picture luoruisichuan  Â·  3Comments