Borrar filtros
Borrar filtros

GPU Coder requirements for Simulink

2 visualizaciones (últimos 30 días)
HayderMU
HayderMU el 29 de En. de 2020
Respondida: Matteo Meli el 11 de Feb. de 2020
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?

Respuestas (2)

Matteo Meli
Matteo Meli el 4 de Feb. de 2020
Editada: Matteo Meli el 4 de Feb. de 2020
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 el 11 de Feb. de 2020
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

Categorías

Más información sobre Get Started with GPU Coder en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by