我想在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
答案 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程序完成后,问题就解决了。