GPU Coder requirements for Simulink
조회 수: 3 (최근 30일)
이전 댓글 표시
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?
댓글 수: 0
답변 (2개)
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
댓글 수: 0
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
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Get Started with GPU Coder에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!