MATLAB: Can’t I run gpuDevice in MATLAB

gpuParallel Computing Toolbox

I am trying to use gpuArray function for my MATLAB code. I am getting the following error when trying to run gpuDevice,
Error using gpuDevice (line 26)
An unexpected error occurred during CUDA execution. The CUDA error was:
CUDA driver version is insufficient for CUDA runtime Version
Running parallel.gpu.GPUDevice.getDevice(1) gives this,
ans =
CUDADevice with properties:
Name: 'Quadro M3000M'
Index: 1
ComputeCapability: '5.2'
SupportsDouble: 1
DriverVersion: 8
ToolkitVersion: 8
MaxThreadsPerBlock: 1024
MaxShmemPerBlock: 49152
MaxThreadBlockSize: [1024 1024 64]
MaxGridSize: [2.1475e+09 65535 65535]
SIMDWidth: 32
TotalMemory: 4.2950e+09
AvailableMemory: NaN
MultiprocessorCount: 8
ClockRateKHz: 924000
ComputeMode: 'Default'
GPUOverlapsTransfers: 1
KernelExecutionTimeout: 1
CanMapHostMemory: 1
DeviceSupported: 1
DeviceSelected: 0
and
>> parallel.internal.gpu.CUDADriverVersion
ans =
'6.14.13.6213 (362.13)'
Other Details,
  • MATLAB Version = 2017a with parallel computing Toolbox
  • Platform = Windows 7
MATLAB 2017a has CUDA toolkit Version 8.0. The Driver Version also seems to be 8. Then why is there an erorr? or am I wrong about the Driver Version?
Please help me with this!

Best Answer

The error is resolved now. I updated the NVIDIA Driver to 391.33 and it worked. Updated details are as below,
>> gpuDevice
ans = CUDADevice with properties:
Name: 'Quadro M3000M'
Index: 1
ComputeCapability: '5.2'
SupportsDouble: 1
DriverVersion: 9.1000
ToolkitVersion: 8
MaxThreadsPerBlock: 1024
MaxShmemPerBlock: 49152
MaxThreadBlockSize: [1024 1024 64]
MaxGridSize: [2.1475e+09 65535 65535]
SIMDWidth: 32
TotalMemory: 4.2950e+09
AvailableMemory: 3.8116e+09
MultiprocessorCount: 8
ClockRateKHz: 924000
ComputeMode: 'Default'
GPUOverlapsTransfers: 1
KernelExecutionTimeout: 1
CanMapHostMemory: 1
DeviceSupported: 1
DeviceSelected: 1
>> parallel.internal.gpu.CUDADriverVersion
ans = '23.21.13.9133 (391.33)'