1

I want to config the config.mkfile to use the cuda. I modified these options:

USE_CUDA = 1
ADD_LDFLAGS = /usr/local/cuda-8.0/lib64
ADD_CFLAGS = /usr/local/cuda-8.0/lib64
USE_CUDA_PATH = /usr/local/cuda 
USE_CUDNN = 1
USE_NVRTC = 1

while I run make -j8, I got the errors below:

cd /home/wanger/MXNet/mxnet/dmlc-core; make libdmlc.a USE_SSE=1 config=/home/wanger/MXNet/mxnet/config.mk; cd /home/wanger/MXNet/mxnet
/usr/local/cuda /bin/nvcc -std=c++11 -Xcompiler -D_FORCE_INLINES -g -O3 -ccbin g++  -Xcompiler "-DMSHADOW_FORCE_STREAM -Wall -O3 -I/home/wanger/MXNet/mxnet/mshadow/ -I/home/wanger/MXNet/mxnet/dmlc-core/include -fPIC -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -msse3 -I/usr/local/cuda /include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSDHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 `pkg-config --cflags opencv` -fopenmp -DMSHADOW_USE_CUDNN=1 /usr/local/cuda-8.0/lib64 -DMXNET_USE_NVRTC=1" -M -MT build/src/ndarray/ndarray_function_gpu.o src/ndarray/ndarray_function.cu >build/src/ndarray/ndarray_function_gpu.d
make[1]: Entering directory '/home/wanger/MXNet/mxnet/dmlc-core'
/usr/local/cuda /bin/nvcc -std=c++11 -Xcompiler -D_FORCE_INLINES -g -O3 -ccbin g++  -Xcompiler "-DMSHADOW_FORCE_STREAM -Wall -O3 -I/home/wanger/MXNet/mxnet/mshadow/ -I/home/wanger/MXNet/mxnet/dmlc-core/include -fPIC -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -msse3 -I/usr/local/cuda /include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSDHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 `pkg-config --cflags opencv` -fopenmp -DMSHADOW_USE_CUDNN=1 /usr/local/cuda-8.0/lib64 -DMXNET_USE_NVRTC=1" -M -MT build/src/optimizer/sgd_gpu.o src/optimizer/sgd.cu >build/src/optimizer/sgd_gpu.d
/usr/local/cuda /bin/nvcc -std=c++11 -Xcompiler -D_FORCE_INLINES -g -O3 -ccbin g++  -Xcompiler "-DMSHADOW_FORCE_STREAM -Wall -O3 -I/home/wanger/MXNet/mxnet/mshadow/ -I/home/wanger/MXNet/mxnet/dmlc-core/include -fPIC -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -msse3 -I/usr/local/cuda /include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSDHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 `pkg-config --cflags opencv` -fopenmp -DMSHADOW_USE_CUDNN=1 /usr/local/cuda-8.0/lib64 -DMXNET_USE_NVRTC=1" -M -MT build/src/operator/convolution_gpu.o src/operator/convolution.cu >build/src/operator/convolution_gpu.d
/usr/local/cuda /bin/nvcc -std=c++11 -Xcompiler -D_FORCE_INLINES -g -O3 -ccbin g++  -Xcompiler "-DMSHADOW_FORCE_STREAM -Wall -O3 -I/home/wanger/MXNet/mxnet/mshadow/ -I/home/wanger/MXNet/mxnet/dmlc-core/include -fPIC -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -msse3 -I/usr/local/cuda /include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSDHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 `pkg-config --cflags opencv` -fopenmp -DMSHADOW_USE_CUDNN=1 /usr/local/cuda-8.0/lib64 -DMXNET_USE_NVRTC=1" -M -MT build/src/operator/svm_output_gpu.o src/operator/svm_output.cu >build/src/operator/svm_output_gpu.d
/usr/local/cuda /bin/nvcc -std=c++11 -Xcompiler -D_FORCE_INLINES -g -O3 -ccbin g++  -Xcompiler "-DMSHADOW_FORCE_STREAM -Wall -O3 -I/home/wanger/MXNet/mxnet/mshadow/ -I/home/wanger/MXNet/mxnet/dmlc-core/include -fPIC -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -msse3 -I/usr/local/cuda /include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSDHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 `pkg-config --cflags opencv` -fopenmp -DMSHADOW_USE_CUDNN=1 /usr/local/cuda-8.0/lib64 -DMXNET_USE_NVRTC=1" -M -MT build/src/operator/leaky_relu_gpu.o src/operator/leaky_relu.cu >build/src/operator/leaky_relu_gpu.d
/usr/local/cuda /bin/nvcc -std=c++11 -Xcompiler -D_FORCE_INLINES -g -O3 -ccbin g++  -Xcompiler "-DMSHADOW_FORCE_STREAM -Wall -O3 -I/home/wanger/MXNet/mxnet/mshadow/ -I/home/wanger/MXNet/mxnet/dmlc-core/include -fPIC -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -msse3 -I/usr/local/cuda /include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSDHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 `pkg-config --cflags opencv` -fopenmp -DMSHADOW_USE_CUDNN=1 /usr/local/cuda-8.0/lib64 -DMXNET_USE_NVRTC=1" -M -MT build/src/operator/lrn_gpu.o src/operator/lrn.cu >build/src/operator/lrn_gpu.d
/usr/local/cuda /bin/nvcc -std=c++11 -Xcompiler -D_FORCE_INLINES -g -O3 -ccbin g++  -Xcompiler "-DMSHADOW_FORCE_STREAM -Wall -O3 -I/home/wanger/MXNet/mxnet/mshadow/ -I/home/wanger/MXNet/mxnet/dmlc-core/include -fPIC -Iinclude -funroll-loops -Wno-unused-parameter -Wno-unknown-pragmas -msse3 -I/usr/local/cuda /include -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSDHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 `pkg-config --cflags opencv` -fopenmp -DMSHADOW_USE_CUDNN=1 /usr/local/cuda-8.0/lib64 -DMXNET_USE_NVRTC=1" -M -MT build/src/operator/fully_connected_gpu.o src/operator/fully_connected.cu >build/src/operator/fully_connected_gpu.d
/bin/sh: 1: /usr/local/cuda: Permission denied
Makefile:184: recipe for target 'build/src/ndarray/ndarray_function_gpu.o' failed
make: *** [build/src/ndarray/ndarray_function_gpu.o] Error 126
make: *** Waiting for unfinished jobs....
/bin/sh: 1: /usr/local/cuda: Permission denied
/bin/sh: 1: /usr/local/cuda: Permission denied
Makefile:184: recipe for target 'build/src/optimizer/sgd_gpu.o' failed
make: *** [build/src/optimizer/sgd_gpu.o] Error 126
Makefile:184: recipe for target 'build/src/operator/convolution_gpu.o' failed
make: *** [build/src/operator/convolution_gpu.o] Error 126
/bin/sh: 1: /usr/local/cuda: Permission denied
/bin/sh: 1: /usr/local/cuda: Permission denied
Makefile:184: recipe for target 'build/src/operator/svm_output_gpu.o' failed
make: *** [build/src/operator/svm_output_gpu.o] Error 126
Makefile:184: recipe for target 'build/src/operator/lrn_gpu.o' failed
make: *** [build/src/operator/lrn_gpu.o] Error 126
/bin/sh: 1: /usr/local/cuda: Permission denied
Makefile:184: recipe for target 'build/src/operator/fully_connected_gpu.o' failed
make: *** [build/src/operator/fully_connected_gpu.o] Error 126
make[1]: 'libdmlc.a' is up to date.
make[1]: Leaving directory '/home/wanger/MXNet/mxnet/dmlc-core'
/bin/sh: 1: /usr/local/cuda: Permission denied
Makefile:184: recipe for target 'build/src/operator/leaky_relu_gpu.o' failed
make: *** [build/src/operator/leaky_relu_gpu.o] Error 126
chiwangc
  • 3,566
  • 16
  • 26
  • 32
Ghrua
  • 6,746
  • 5
  • 17
  • 25
  • 1
    "/bin/sh: 1: /usr/local/cuda: Permission denied", looks like you do not have permission to run /usr/bin/cuda probably it can be fixed with sudo chmod 755 /usr/bin/cuda – Marco Nov 18 '16 at 07:29
  • @Marco Thanks for your reply, but `chmod` is no use. – Ghrua Nov 18 '16 at 07:45
  • 1
    I notice something strange, "/usr/local/cuda /bin/nvcc" there is a strange space in between /usr/local/cuda and /bin/nvcc.. it could be that USE_CUDA_PATH = /usr/local/cuda is defined with an extra space at the end – Marco Nov 18 '16 at 07:52
  • @Marco there is really a space before '\n'..., thanks for your help~ – Ghrua Nov 18 '16 at 13:42

1 Answers1

0

I think @Marco spotted it: You have defined USE_CUDA_PATH with a trailing space, so it's trying to execute the directory as the compiler, which is causing the "permission denied" error because it can't execute the directory.

Leopd
  • 41,333
  • 31
  • 129
  • 167