clGetDeviceIDs

Holt die Geräte-IDs, die im System verfügbar sind.

Signatur

cl_int clGetDeviceIDs ( cl_platform_id  platform ,
                        cl_device_type  device_type ,
                        cl_uint  num_entries ,
                        cl_device_id  *devices ,
                        cl_uint  *num_devices )

Parameter

platform: gültige Plattform, die von clGetPlatformIDs geholt wurde, kann aber auch NULL sein. Wenn NULL hängt das Verhalten von der Implementation ab.

device_type: Bitfeld, was die Art der Devices angiebt, die man benutzen möchte. Gültige Angaben:

Wert Beschreibung
CL_DEVICE_TYPE_CPU Das OpenCL-Device, was der Hostprozessor ist. Der Host Prozessor führt die OpenCL Implementation aus und agiert als Single- oder Multi-Code Prozessor.
CL_DEVICE_TYPE_GPU GPU, also ein Gerät, was auch für die Beschleunigung von 3D-Anwendungen mit DirectX oder OpenGL benutzt werden kann
CL_DEVICE_TYPE_ACCELERATOR Dedizierte OpenCL Beschleuniger, wie IBM Cell Blade. Diese Geräte kommunizieren mit dem Hostprozessor durch zB. PCIe
CL_DEVICE_TYPE_CUSTOM Dedizierte OpenCL Beschleuniger, die keine Programme unterstützen, die in OpenCL C geschrieben sind.
CL_DEVICE_TYPE_DEFAULT Das Standard-Gerät im System, was kein CUSTOM-Gerät sein kann
CL_DEVICE_TYPE_ALL Alle Geräte, die im System verfügbar sind, außer CUSTOM-Geräte

num_entries: Anzahl der Geräte, die zu devices hinzugefügt werden können, damit Größe des reservierten Speicherplatz. Wenn devices ungleich NULL ist, dann muss num_entries größer als 0 sein.

devices: Speicherplatz für ein Feld mit gefunden Geräten. Die Werte, die zurückgegeben werden, können dazu benutzt werden OpenCL Geräte zu identifizieren. Wenn NULL, dann wird das Argument ignoriert. Es werden maximal so viele Geräte zurückgegeben, wie num_entries groß ist, oder wie im System verfügbar sind.

num_devices: gibt die Anzahl der OpenCL Geräte an, die im System existieren und mit device_type übereinstimmen. Falls das Argument NULL ist, wird es ignoriert.

Ruckgabewert

Zurückgegeben wird einer der folgenden Fehlercodes:

Wert Beschreibung
CL_SUCCESS Die Funktion wurde erfolgreich ausgeführt.
CL_INVALID_PLATFORM wenn das Argument platform keine gültige Plattform repräsentiert.
CL_INVALID_DEVICE_TYPE Das Argument device_type hat einen ungültigen Wert
CL_INVALID_VALUE num_entries ist 0 aber devices ist nicht NULL, oder devices und num_devices sind NULL
CL_DEVICE_NOT_FOUND Kein OpenCL-Gerät, was mit device_type übereinstimmt gefunden wurde
CL_OUT_OF_RESOURCES Es ist ein Fehler beim Reservieren von Speicher aufgetreten, der für die OpenCL-Implementation auf dem Gerät gebraucht wird.
CL_OUT_OF_HOST_MEMORY Es ist ein Fehler beim Reservieren von Speicher aufgetreten, der für die OpenCL-Implementation auf dem Hostprozressor gebraucht wird.

Siehe auch