【发布时间】:2016-12-10 16:06:37
【问题描述】:
我想在matlab 2016a(或matlab 2014)中使用CUDA7.5,例如我可以通过
gpuDevice(gpu_id)在matlab中设置gpu,一开始这样总是可以的。-
但是在我运行了一些与 cuda 相关的 *.m 文件后,当我再次运行
gpuDevice(gpu_id)时,我总是得到以下错误。CUDA 执行过程中出现意外错误。 CUDA 错误是: 所有支持 CUDA 的设备都忙或不可用
我已尝试重新启动 matlab 和我的计算机,但错误仍然存在。有谁知道为什么会发生这种情况?我该如何解决这个错误?
非常感谢!
另外,我在command行中运行
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
【问题讨论】:
-
当我在 MATLAB 中使用 CUDA mex 文件时,一旦 mex 文件“占用”了 GPU,我就不能使用任何 MATLAB GPU 函数。 MATLAB 以某种方式将 GPU 分配给 mex 文件,即使我在 CUDA 代码中发布它们也不让我使用它们。不知道为什么,但是是的,我可以使用的唯一选项是重新启动 MATLAB
-
即使我重新启动了我的计算机和matlab,错误仍然存在。好伤心!
-
当我有单个 GPU 并且它被操作系统用于图形时,也会发生这种情况。不知道如何解决它抱歉。