vlfeat / matconvnet

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

vl_compilenn -DNDEBUG expected a number #1212

Open ghost opened 5 years ago

ghost commented 5 years ago

Hi, I am trying to enable GPU on Windows 10 MATLAB r2019b. I have CUDA 10.1. I get an error shown below. How do I fix it?

Error using vl_compilenn>nvcc_compile (line 617) Command "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\nvcc" -c -o "C:\Users\user\Documents\MATLAB\matconvnet-1.0-beta25\matlab\mex.build\bits\data.obj" "C:\Users\user\Documents\MATLAB\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\R2019a\extern\include" -I"C:\Program Files\MATLAB\R2019a\toolbox\distcomp\gpu\extern\include" -gencode=arch=compute_52,code=\"sm_52,compute_52\" --compiler-options=/MD --compiler-bindir="C:\ProgramData\MATLAB\SupportPackages\R2019a\3P.instrset\mingw_w64.instrset\VC\bin" failed.

Error in vl_compilenn (line 487) nvcc_compile(opts, srcs{i}, objfile, flags) ;

shi-yan commented 5 years ago

the problem here is the -O option.

it needs a number. changing it to -O0 will fix it.

ghost commented 5 years ago

Thank you for the response! I commented those lines out and that worked too.

The next problem I face is when linking the compiled mex files, “cannot find gdiplus.lib” or something to that extent. I am using Windows 10, MS Visual Studio 2017 for my c++ compiler and MATLAB 2019b.

Do you onow how to fix this?

Thanks, Matthew

Get Outlook for iOShttps://aka.ms/o0ukef


From: Shi Yan notifications@github.com Sent: Friday, May 17, 2019 5:46:05 PM To: vlfeat/matconvnet Cc: Kayrish, Matthew (UMKC-Student); Author Subject: Re: [vlfeat/matconvnet] vl_compilenn -DNDEBUG expected a number (#1212)

the problem here is the -O option.

it needs a number. changing it to -O0 will fix it.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/vlfeat/matconvnet/issues/1212?email_source=notifications&email_token=AMBIYXR2HFDLWOTWSNEZFITPV4YS3A5CNFSM4HMFH6TKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVWAV7Y#issuecomment-493619967, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMBIYXTFPYMU6UTUXTISJJ3PV4YS3ANCNFSM4HMFH6TA.

loosgagnet commented 4 years ago

@kayrish52 I have the same problem. Did you solve it?

gkuberreddy commented 4 years ago

Hi, I am trying to enable GPU on Windows 10 MATLAB r2019b. I have CUDA 10.1. I get an error shown below. How do I fix it?

Error using vl_compilenn>nvcc_compile (line 617) Command "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\nvcc" -c -o "C:\Users\user\Documents\MATLAB\matconvnet-1.0-beta25\matlab\mex.build\bits\data.obj" "C:\Users\user\Documents\MATLAB\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\R2019a\extern\include" -I"C:\Program Files\MATLAB\R2019a\toolbox\distcomp\gpu\extern\include" -gencode=arch=compute_52,code="sm_52,compute_52" --compiler-options=/MD --compiler-bindir="C:\ProgramData\MATLAB\SupportPackages\R2019a\3P.instrset\mingw_w64.instrset\VC\bin" failed.

Error in vl_compilenn (line 487) nvcc_compile(opts, srcs{i}, objfile, flags) ;

the problem here is the -O option.

it needs a number. changing it to -O0 will fix it.

Hi. May I know which line of code have you changed -O option to number -O0? Thanks.

zosel260 commented 4 years ago

Hello, I have the same problem and I followed shi-yan's comments. After I changed -O to -O0 from line 340 like:

flags.base{end+1} = '-O0'

I still got an error. I tested 2 different environments.

  1. Env1 : Windows10, Matlab R2017a, Visual studio 2015, Cuda 10.2, cuDNN v.7.65, matconvnet 1.0-beta 25.

Building is progressed for a while, but error happens.

Error using mex
Unknown MEX argument '-O0'.

Error in vl_compilenn>mex_compile (line 584)
mex(args{:}) ;
  1. Env2 : Windows10, Matlab R2019b, Visual studio 2019, Cuda 10.2, cuDNN v.7.65, matconvnet 1.0-beta 25.

The "nvcc fatal : '-DNDEBUG': expected a number " error message disappeared but I got the left error messages


Error using : vl_compilenn>nvcc_compile (line 616)
Command "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\nvcc" -c -o
"D:\lib\matconvnet-1.0-beta25\matconvnet-1.0-beta25\matlab\mex\.build\bits\data.obj"
"D:\lib\matconvnet-1.0-beta25\matconvnet-1.0-beta25\matlab\src\bits\data.cu" -DENABLE_GPU
-DENABLE_DOUBLE -DENABLE_CUDNN -I"local\cudnn\include" -O0 -DNDEBUG -D_FORCE_INLINES --std=c++11
-I"C:\Program Files\MATLAB\R2019b\extern\include" -I"C:\Program
Files\MATLAB\R2019b\toolbox\parallel\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.

I found out the cl.exe path is wrong. I modify cl_path like below:

%cl_path = fileparts(check_clpath()); % check whether cl.exe in path %    %original code
  cl_path ='C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\Hostx64\x64';  % modify code

Then the same error happens with Env1.

eduardo4jesus commented 2 months ago

Did you find any solution for this?