matlab中的CUDA错误(所有支持CUDA的设备都很忙)

时间:2016-08-04 13:37:17

标签: matlab cuda

  • 我想在matlab 2016a(或matlab 2014)中使用CUDA7.5,例如,我可以通过gpuDevice(gpu_id)在matlab中设置gpu。在开始时,这总是有效的。

  • 但是在我运行了一些与cuda相关的* .m文件之后,当我再次运行gpuDevice(gpu_id)时,我总会收到以下错误。

      

    CUDA执行期间发生意外错误。 CUDA错误是:   所有支持CUDA的设备都忙或不可用

  • 我试图重新启动matlab和我的电脑,但错误仍然存​​在。有谁知道为什么会这样?我该如何解决这个错误?

  • 非常感谢!

  • 此外,当我在commond行中运行gpuDevice时,我已获得以下信息

             Name: 'GeForce GTX 960'
             Index: 1
 ComputeCapability: '5.2'
    SupportsDouble: 1
     DriverVersion: 7.5000
    ToolkitVersion: 7.5000
MaxThreadsPerBlock: 1024
  MaxShmemPerBlock: 49152
MaxThreadBlockSize: [1024 1024 64]
       MaxGridSize: [2.1475e+09 65535 65535]
         SIMDWidth: 32
       TotalMemory: 4.2950e+09
   AvailableMemory: 3.4769e+09    
 MultiprocessorCount: 8
      ClockRateKHz: 1291000
       ComputeMode: 'Default'   GPUOverlapsTransfers: 1 KernelExecutionTimeout: 1
  CanMapHostMemory: 1
   DeviceSupported: 1
    DeviceSelected: 1

3 个答案:

答案 0 :(得分:1)

使用GPU后,reset the gpu reset

dev = gpuDevice(gpu_id);

% Do lots of stuff
reset(dev)

或者您可以使用空([])输入

来释放设备
gpuDevice([])

答案 1 :(得分:1)

我也有同样的错误。我在linux中运行matlab,在删除〜/ .matlab之后,然后重启matlab,错误就好了。

答案 2 :(得分:0)

我今天遇到了同样的问题,这很奇怪,因为我之前运行相同的程序没有任何问题。我检查了gpu的使用情况,结果发现有人在gpu0上运行python并占用了所有内存。我在matlab中选择了gpu设备,但某些工具箱可能仍将gpu0用作默认值。 python程序完成后,问题就解决了。