clBuildProgram

Baut (kompiliert und links) Programmcode für den Programmcode oder -binary. Für genauere Informationen: [5]

Signatur

cl_int clBuildProgram ( cl_program program,
                        cl_uint num_devices,
                        const cl_device_id *device_list,
                        const char *options,
                        void (CL_CALLBACK *pfn_notify) (
                            cl_program program, 
                            void *user_data
                        ),
                        void *user_data)

Parameter

programm: Das Programm-Objekt

device_list: Ein Zeiger zur Liste der mit dem Programm in Verbindung stehenden Geräte. Wenn device_list NULL ist, dann wird das Programm für alle Geräte gebaut, für die eine Quelle oder Binary geladen wurde. Wenn device_list nicht NULL ist, dann das Programm nur für Geräte gebaut, die in der Liste stehen.

num_devices: Die Anzahl der Geräte, die in device_list stehen.

options: Zeiger zu einem Null-terminierten String, der die Parameter fürs Bauen des Codes angeben. Die verfügbaren Parameter sind unter [5] gegeben.

pfn_notify: FIXME

user_data: wird als Argument an pfn_notify übergeben, wenn das aufgerufen wird. Kann NULL sein.

Rückgabewert

Rückgabewert - Fehlercode:

Wert Beschreibung
CL_SUCCESS Die Funktion wurde erfolgreich ausgeführt
CL_INVALID_PROGRAM programm ist kein gültiges Programm
CL_INVALID_VALUE device_list ist NULL und num_devices ist größer als 0 oder device_list ist nicht NULL aber num_devices ist 0
CL_INVALID_VALUE falls pfn_notify gleich NULL ist, aber user_data nicht NULL ist.
CL_INVALID_DEVICE Geräte, die in device_list stehen sind nicht in program angegeben.
CL_INVALID_BINARY das Programm wurde mit clCreateProgramWithBinary erstellt aber die Geräte, die in device_list stehen haben keine gültige Binary geladen
CL_INVALID_BUILD_OPTIONS options enthält ungültige Optionen
CL_COMPILER_NOT_AVAILABLE das Programm wurde mit clCreateProgramWithSource erzeugt, aber der Compiler ist nicht verfügbar. Zum Beispiel CL_DEVICE_COMPILER_AVAILABLE ergibt CL_FALSE (clGetDeviceInfo).
CL_BUILD_PROGRAM_FAILURE Es ist ein Fehler beim Bauen der Programm-Executable aufgetreten. Der Fehlercode wird zurückgegeben, wenn clBuildProgram zurückkehrt, aber noch nicht vollständig gebaut hat
CL_INVALID_OPERATION es sind bereits Kernel-Objekte mit dem Programm-Objekt verbunden oder das Programm nicht mit clCreateProgramWithSource oder clCreateProgramWithBinary erzeugt worden ist.
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.