MATLAB Answers

Having error: 'emlc:compilationError' when using command('c​oder.check​GpuInstall​('gpu','co​degen','cu​dnn','quie​t');')

49 views (last 30 days)
Bohao Wu
Bohao Wu on 21 May 2019
Answered: Majid Farzaneh on 16 Apr 2021
Hi there, I was trapped in this error within the whole day. I'm using yolo to dectect objects, while I'm just using it but not trying to compile it. So when I used single or multiple CPUs to run the vehicle_Dataset, I found the training process was unable to be accomplished as matlab was out of memory.
So I turned to try to deploy the taining using my GPU, which is Geforce GTX 1060. I installed the new divers for this Graphic card(ver 430.64), CUDA toolkit 10.1, cuDNN v7.5.1 (April 22, 2019) for CUDA 10.1. Then I created
Variable name: CUDA_PATH
Variable value: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
in the system variables. Also, I added
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\lib64
in the Path.
All the add-on on this page was also installed:
including "GPU Coder Interface for Deep Learning Libraries support package", Microsoft Visual Studio 2017, "MATLAB Support for MinGW-w64 C/C++ Compiler".
Then, I ran the following code in matlab, which worked very good.
mex -setup:'C:\Program Files\MATLAB\R2018b\bin\win64\mexopts\msvc2017.xml' C -v
mex -setup:'C:\Program Files\MATLAB\R2019a\bin\win64\mexopts\msvc2017.xml' C -v
Then I ran
coder.checkGpuInstall('gpu','codegen','cudnn','quiet');
Matlab inform me as
Error using coder.checkGpuInstall (line 32)
One or more of the system checks did not pass, with the following errors ...
Basic Code Generation: (Test GPU code generation failed with the error 'emlc:compilationError'. View report for further information: View report)
So I click the View report, and it says:
Build error: C++ compiler produced errors. See the Build Log for further details.
While the build logs has 1659 lines... I have attached the ecported reports in tha attachment. So I detected the current setup with coder.checkGpuInstall();
Compatible GPU : PASSED
CUDA Environment : PASSED
Runtime : PASSED
cuFFT : PASSED
cuSOLVER : PASSED
cuBLAS : PASSED
cuDNN Environment : PASSED
Basic Code Generation : FAILED (Test GPU code generation failed with the error 'emlc:compilationError'. View report for further information: View report)
So could anyone help me out of this problem? Thanks a lot in advance!
  3 Comments

Sign in to comment.

Answers (2)

xuan zhang
xuan zhang on 6 May 2020
Same problem here- not been able to find out what the problem is.
  4 Comments

Sign in to comment.


Majid Farzaneh
Majid Farzaneh on 16 Apr 2021
I just solved the problem.
You need to first install visual studio 2015 or later (including C++).
Then type this in the command window:
mex -setup C++
you may have something like this:
MEX configured to use 'Microsoft Visual C++ 2015' for C++ language compilation.
To choose a different C++ compiler, select one from the following:
MinGW64 Compiler (C++) mex -setup:'C:\Program Files\Polyspace\R2021a\bin\win64\mexopts\mingw64_g++.xml' C++
Microsoft Visual C++ 2015 mex -setup:C:\Users\Majid\AppData\Roaming\MathWorks\MATLAB\R2021a\mex_C++_win64.xml C++
Just click on "Microsoft Visual C++ 2015" link.
then check the coder again:
coder.checkGpuInstall

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!