Cluster unterstützt nur OpenCL 1.0?

simon.r
Mausschubser
Mausschubser
Beiträge: 59
Registriert: 4. Okt 2010 16:13

Cluster unterstützt nur OpenCL 1.0?

Beitrag von simon.r » 26. Jan 2012 23:46

Hallo,
ich wollte vorhin unseren aktuellen Code testweise auf dem Cluster ausführen, nachdem er stabil auf meinem Pc läuft. Leider bekam ich erstmal ein "CL_INVALID_BINARY" auf der Konsole entgegengeworfen - nach etwas googlen hat sich herausgestellt, das solche Fehlermeldungen anscheint durch ältere Treiberversionen hervorgerufen werden. Nach einem Blick auf die Seite von Khronos hat sich herausgestellt, dass ein "atomic_inc" der Übeltäter ist, da atomic Funktionen anscheint erst mit OpenCL 1.1 voll unterstützt werden. In 1.0 sind sie offenbar optional und können angeblich als Extension benutzt werden, falls sie unterstützt werden. Leider konnte ich das noch nicht testen, ich frage mich allerdings warum im Moodle auf die Quick Reference von OpenCL 1.2 verwiesen wird, wenn wir diese gar nicht nutzen können?

kbraden
Mausschubser
Mausschubser
Beiträge: 98
Registriert: 15. Okt 2010 20:35

Re: Cluster unterstützt nur OpenCL 1.0?

Beitrag von kbraden » 27. Jan 2012 00:33

Hatte das gleiche Problem. Damit ich den Code nicht staendig abaendern muss:

Code: Alles auswählen

#if __OPENCL_VERSION__ < 120
#define atomic_inc atom_inc
#pragma OPENCL EXTENSION cl_khr_local_int32_base_atomics: enable                                                                       
#endif

(es scheint zwar nur OpenCL 1.0 zur verfuegung zu stehen - zumindest scheint das so in /usr/lib/libcuda.so zu stehen - trotzdem scheint der Kernelcompiler __OOPENCL_VERSION__ = 110 zu haben...)

Antworten

Zurück zu „Archiv“