Ich würde gerne wissen, ob es einen Weg gibt zu überprüfen, wie viel GPU-Speicher verfügbar ist, bevor eine Funktion ihn benutzt. Ich habe Code, der oft 1,5 GB GPU-Speicher oder mehr verwendet, und wenn etwas anderes die GPU verwendet, wenn mein Programm es verwenden möchte, bekomme ich eine MemoryError
-Ausnahme oder etwas Ähnliches.
Ich möchte eine Art von Code implementieren, damit ich prüfen kann, ob die GPU genügend Speicher zur Verfügung hat, und falls ja, mach weiter und lauf, aber wenn nicht, warte, bis es verfügbar ist.
>(Ich würde es am liebsten überprüfen, bevor ich versuche, die GPU zu verwenden, anstatt eine try-except-Schleife zu verwenden und es einfach erneut zu versuchen, falls es scheitert)
Ich habe die PyOpenCL-Dokumentation überprüft, um festzustellen, ob unter device_info etwas Sinnvolles ist, aber ich konnte keine tatsächlichen Beschreibungen finden.
Dies ist nicht möglich und ist eigentlich eine Einschränkung von OpenCL, nicht nur von PyOpenCL. Siehe hier .
Auf NVIDIA-Geräten können Sie nvidia-ml-py verwenden. Dann können Sie so etwas tun:
%Vor%