GPU Coder requirements for Simulink

조회 수: 3 (최근 30일)
HayderMU
HayderMU 2020년 1월 29일
답변: Matteo Meli 2020년 2월 11일
I'm trying to run GPU coder on Simulink. The Prerequisites says "CUDA-enabled NVIDIA® GPU with compute capability 3.0 or higher.". However, the GPU coder itself requires "NVIDIA® GPU enabled for CUDA with compute capability 3.2 or higher ". I'm using this:
Name: 'Quadro K4100M'
Index: 1
ComputeCapability: '3.0'
SupportsDouble: 1
DriverVersion: 10.1000
ToolkitVersion: 10
MaxThreadsPerBlock: 1024
MaxShmemPerBlock: 49152
MaxThreadBlockSize: [1024 1024 64]
MaxGridSize: [2.1475e+09 65535 65535]
SIMDWidth: 32
TotalMemory: 4.2950e+09
AvailableMemory: 3.6442e+09
MultiprocessorCount: 6
ClockRateKHz: 705500
ComputeMode: 'Default'
GPUOverlapsTransfers: 1
KernelExecutionTimeout: 0
CanMapHostMemory: 1
DeviceSupported: 1
DeviceSelected: 1
And when I do GPU test I get:
Compatible GPU : FAILED (The compute capability '3.0' of the selected GPU '0' is not supported by GPU Coder. Execution of the generated GPU MEX will not be available.)
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)
I'm using matlab 2019b with Microsoft Visual C++ 2015 as compiler.
Anyone can help?

답변 (2개)

Matteo Meli
Matteo Meli 2020년 2월 4일
편집: Matteo Meli 2020년 2월 4일
Same problem here except I've used Visual C++ 2019 as compiler. I also tried changing the compiler via mex -setup. No success.
Name: 'GeForce GTX 1080'
Index: 1
ComputeCapability: '6.1'
SupportsDouble: 1
DriverVersion: 10.2000
ToolkitVersion: 10.1000
MaxThreadsPerBlock: 1024
MaxShmemPerBlock: 49152
MaxThreadBlockSize: [1024 1024 64]
MaxGridSize: [2.1475e+09 65535 65535]
SIMDWidth: 32
TotalMemory: 8.5899e+09
AvailableMemory: 6.9973e+09
MultiprocessorCount: 20
ClockRateKHz: 1822500
ComputeMode: 'Default'
GPUOverlapsTransfers: 1
KernelExecutionTimeout: 1
CanMapHostMemory: 1
DeviceSupported: 1
DeviceSelected: 1
coder.checkGpuInstall('full') gives me this :
Compatible GPU : PASSED
CUDA Environment : PASSED
Runtime : PASSED
cuFFT : PASSED
cuSOLVER : PASSED
cuBLAS : PASSED
cuDNN Environment : PASSED
TensorRT Environment : PASSED
Profiling Environment : PASSED
Basic Code Generation : FAILED (Test GPU code generation failed with the error 'emlc:compilationError'. View report for further information: View report)
Deep Learning (TensorRT) Code Generation: FAILED (Test GPU code generation failed with the error 'emlc:compilationError'. View report for further information: View report)
TensorRT INT8 Compute Capability Check: PASSED
ans =
struct with fields:
gpu: 1
cuda: 1
cudnn: 1
tensorrt: 1
basiccodegen: 0
basiccodeexec: 0
deepcodegen: 0
deepcodeexec: 0
tensorrtdatatype: 1
profiling: 1

Matteo Meli
Matteo Meli 2020년 2월 11일
Hello,
I've found a rather odd workaround to get to 'Passed' for all entries.
Here was what I did:
1) Install Microsoft Visual C++ 2017 as compiler
2) Create a new Windows User Account
3) Create a new MATLAB Licence for that new user
4) Load the new license into MATLAB
5) Check if coder.checkGpuInstall('full') gives you a 'Passed' for all entries.
I would like to hear your feedback if this solution also works for you!
Best regards,
Matteo Meli

카테고리

Help CenterFile Exchange에서 Get Started with GPU Coder에 대해 자세히 알아보기

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by