2016-08-04 44 views
1
  • I CUDA7.5 in Matlab 2016a (oder Matlab 2014), zum Beispiel verwenden möchten, ich gpu in Matlab durch gpuDevice(gpu_id) Am Anfang gesetzt, Das funktioniert immer.CUDA Fehler in Matlab (alle CUDA-fähige Geräte beschäftigt sind)

  • Aber nachdem ich einige * .m Dateien ausgeführt habe, die mit Cuda reletive sind, bekomme ich immer den folgenden Fehler, wenn ich gpuDevice(gpu_id) wieder laufen lasse.

    Während der CUDA-Ausführung ist ein unerwarteter Fehler aufgetreten. Die CUDA Fehler waren: alle CUDA-fähige Geräte sind damit beschäftigt oder nicht verfügbar

  • Ich habe versucht, die Matlab und meinen Computer neu zu starten, aber der Fehler ist immer noch hier. Weiß jemand, warum das passieren wird? Und wie kann ich diesen Fehler beheben?

  • Thanks so much!

  • Außerdem, wenn ich gpuDevice in der commond Linie laufen, habe ich die folgenden Informationen

   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

Wenn ich CUDA mex Dateien in MATLAB verwenden, sobald die mex-Dateien „genommen“ haben die GPU, dann. Irgendwie ordnet MATLAB die GPU den mex-Dateien zu und lässt mich nicht verwenden, selbst wenn ich sie in CUDA-Code freigegeben habe. Keine Ahnung warum, aber ja, die einzige Option, die ich verwenden kann, ist MATLAB neu starten –

+0

Auch ich habe meinen Computer und Matlab neu gestartet, der Fehler ist immer noch da. So traurig! –

+0

Das passiert mir auch, wenn ich eine einzelne GPU habe und sie vom Betriebssystem für Grafiken verwendet wird. Keine Ahnung, wie man es lösen kann. –

Antwort

1

erhalten die GPU Nach verwenden, sollten Sie reset the gpu mit reset das wird

dev = gpuDevice(gpu_id); 

% Do lots of stuff 
reset(dev) 

Oder Sie könnten das Gerät mit leeren freigeben ([]) Eingänge

gpuDevice([]) 
+0

Gerade jetzt, ich habe meinen Computer und Matlab neu starten, dann habe ich getippt 'gpu_id = 1; gpuDevice (gpu_id);', aber ich immer noch den gleichen Fehler erhalten. Dann habe ich getippt ' dev = gpuDevice (gpu_id); % Viele Dinge tun reset (dev) '; ' der Fehler ist daitll. Auch habe ich 'gpuDevice ([])' getippt, der Fehler ist auch da. Die Fehlerinformation ist Ein unerwarteter Fehler trat während der CUDA-Ausführung auf. Der CUDA-Fehler war: alle CUDA-fähigen Geräte sind beschäftigt oder nicht verfügbar –

+0

Gerade jetzt habe ich meinen Computer und Matlab neu gestartet, dann habe ich 'gpu_id = 1; gpuDevice (gpu_id);', eingegeben, aber ich bekomme immer noch das gleiche Error. Dann habe ich getippt 'dev = gpuDevice (gpu_id); reset (dev) ', der Fehler ist da. Auch habe ich 'gpuDevice ([])' getippt, der Fehler ist auch da. Die Fehlerinformation lautet: Während der CUDA-Ausführung ist ein unerwarteter Fehler aufgetreten. Der CUDA-Fehler war: alle CUDA-fähigen Geräte sind beschäftigt oder nicht verfügbar Wissen Sie, wie Sie dieses Problem lösen können? Vielen Dank! –

0

Ich habe auch den gleichen Fehler mit Ihnen. Ich starte Matlab in Linux, nachdem ich ~/.matlab gelöscht habe, und starte Matlab neu, der Fehler geht einfach. Ich ca keine der MATLAB GPU-Funktionen verwenden