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'
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.
Most helpful comment
One can compile with gcc-7 using:
ADD_CFLAGS = -fpermissive
config.mk