FEHLER: pyopencl: Kontext für ein bestimmtes Gerät erstellen
Ich möchte auf meiner Plattform einen Kontext für ein bestimmtes Gerät erstellen. Aber ich bekomme einen Fehler.
Code:
import pyopencl as cl
platform = cl.get_platforms()
devices = platform[0].get_devices(cl.device_type.GPU)
ctx = cl.Context(devices[0])
Der Fehler, den ich erhalte:
Traceback (most recent call last):
File "D:\Programming\Programs_OpenCL_Python\Matrix Multiplication\3\main3.py", line 16, in <module>
ctx = cl.Context(devices[0])
AttributeError: 'Device' object has no attribute '__iter__'
Das Programm wird ohne Fehler und Warnungen kompiliert und ausgeführt, wenn ich Folgendes verwende:
ctx = cl.create_some_context()
Ich muss den Gerätetyp jedoch jedes Mal manuell auswählen, wenn ich das Programm mit dieser Funktion ausführe. Ich kann die folgende Umgebungsvariable einstellen
PYOPENCL_CTX='0'
Auf diese Weise kann ich keine Kontexte für verschiedene Geräte erstellen, die je nach Anforderung verfügbar sind. Es wird standardmäßig für alle Kontexte, die ich erstelle, auf Gerät 0 gesetzt.
Kann mir bitte jemand bei diesem Problem helfen.
Vielen Dank