vlfeat / matconvnet

MatConvNet: CNNs for MATLAB
Other
1.4k stars 752 forks source link

v1_compilenn error #1197

Open edwardcdy opened 5 years ago

edwardcdy commented 5 years ago

I am having trouble getting matconvnet to compile with GPU support on my Win10 machine. I got it to sucessfully compile without GPU support, but with much less luck on the GPU side. I am using CUDA10, and my other hardware specs are as in the question title. One [ir]relevant detail might be that the directory pointed to by the default option for "--compiler-bindir" (i.e. C:\Program Files (x86)\Microsoft\Visual Studio\2017\Community\VC\bin) doesn't exist. I tried creating an empty folder in this path and several files do seem to compile, but with several warning flags along the lines of c++11 standards not being supported by the compiler. Even with this folder created and several files compiling, however, the process also errors out. I have included the last several lines of the output from this method.

> vl_compilenn('enableGpu', true)
.
.
.
vl_imreadjpeg_old.cu 
SSSE3 instruction set not enabled. Using slower image conversion routines. 
Building with 'MinGW64 Compiler (C)'.
Error using mex
gcc: error: gdiplus.lib: No such file or directory
Error in vl_compilenn>mex_link (line 627)
mex(args{:}) ;
Error in vl_compilenn (line 500)
  mex_link(opts, objs, flags.mex_dir, flags) ;

Following is the original output (without creating the folder pointed to by --compiler-bindir)

> vl_compilenn('enableGpu', true, 'cudaRoot','C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\','verbose',1)
vl_compilenn: * CUDA configuration *
vl_compilenn:   CUDA: using CUDA Devkit 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\'.
vl_compilenn:   CUDA: using NVCC 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin\nvcc' (100130).
vl_compilenn:   CUDA: determining GPU compute capability (use the 'CudaArch' option to override)
vl_compilenn:   CUDA: NVCC architecture string: '-gencode=arch=compute_61,code=\"sm_61,compute_61\" '.
vl_compilenn: * Compiler and linker configurations *
vl_compilenn:   intermediate build products directory: C:\Users\f002c8m\Documents\matconvnet-1.0-beta25\matlab\mex\.build
vl_compilenn:   MEX files: C:\Users\f002c8m\Documents\matconvnet-1.0-beta25\matlab\mex/
vl_compilenn:   Base options: -DENABLE_GPU -DENABLE_DOUBLE -O -DNDEBUG
vl_compilenn:   MEX CXX: -largeArrayDims -D__SSSE3__
vl_compilenn:   MEX CXXFLAGS: 
vl_compilenn:   MEX CXXOPTIMFLAGS: 
vl_compilenn:   MEX LINK: -largeArrayDims -lmwblas -L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64" -lcudart -lcublas -lgpu
vl_compilenn:   MEX LINK LDFLAGS: 
vl_compilenn:   MEX LINK LDOPTIMFLAGS: 
vl_compilenn:   MEX LINK LINKLIBS: gdiplus.lib
vl_compilenn:   MEX CUDA: -largeArrayDims
vl_compilenn:   MEX CUDA CXXFLAGS: 
vl_compilenn:   MEX CUDA CXXOPTIMFLAGS: 
vl_compilenn:   NVCC: -D_FORCE_INLINES --std=c++11 -I"C:\Program Files\MATLAB\R2018b\extern\include" -I"C:\Program Files\MATLAB\R2018b\toolbox\distcomp\gpu\extern\include" -gencode=arch=compute_61,code=\"sm_61,compute_61\"  --compiler-options=/MD --compiler-bindir="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\bin"
vl_compilenn: * Reading images *
vl_compilenn:   vl_imreadjpeg enabled
vl_compilenn:   image library: gdiplus
vl_compilenn:   image library compile flags: 
vl_compilenn:   image library link flags: gdiplus.lib
vl_compilenn: NVCC CC: "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin\nvcc" -c -o "C:\Users\f002c8m\Documents\matconvnet-1.0-beta25\matlab\mex\.build\bits\data.obj" "C:\Users\f002c8m\Documents\matconvnet-1.0-beta25\matlab\src\bits\data.cu" -DENABLE_GPU -DENABLE_DOUBLE -O -DNDEBUG -D_FORCE_INLINES --std=c++11 -I"C:\Program Files\MATLAB\R2018b\extern\include" -I"C:\Program Files\MATLAB\R2018b\toolbox\distcomp\gpu\extern\include" -gencode=arch=compute_61,code=\"sm_61,compute_61\"  --compiler-options=/MD --compiler-bindir="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\bin" 
Error using vl_compilenn>nvcc_compile (line 615)
Command "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin\nvcc" -c -o "C:\Users\f002c8m\Documents\matconvnet-1.0-beta25\matlab\mex\.build\bits\data.obj"
"C:\Users\f002c8m\Documents\matconvnet-1.0-beta25\matlab\src\bits\data.cu" -DENABLE_GPU -DENABLE_DOUBLE -O -DNDEBUG -D_FORCE_INLINES --std=c++11 -I"C:\Program Files\MATLAB\R2018b\extern\include"
-I"C:\Program Files\MATLAB\R2018b\toolbox\distcomp\gpu\extern\include" -gencode=arch=compute_61,code=\"sm_61,compute_61\"  --compiler-options=/MD --compiler-bindir="C:\Program Files (x86)\Microsoft
Visual Studio\2017\Community\VC\bin"  failed.
Error in vl_compilenn (line 487)
      nvcc_compile(opts, srcs{i}, objfile, flags) ;
ProfFernando commented 5 years ago

I have the same problem. Have you already find a solution?

GreenTeaHua commented 5 years ago

mark,the same pro