~~NOTOC~~ ====== 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 ===== * [[opencl:reference:clgetplatformids|clGetPlatformIDs]]