2016-07-06 17 views

Antwort

0

Pointerarithmetik funktioniert, aber Sie müssen Ihre Zeiger mit dem entsprechenden Speicherplatz annotieren. So Ihr Beispiel-Code ist höchstwahrscheinlich falsch: wenn local_buffer als

local int local_buffer[BUFFER_SIZE]; 

Dann erklärt der end und x Variablen Typen Muss haben auch die local specfier:

local int* end = …; 
for (local int* x = … 

Der Standard global ist, was dazu führt, dass Dinge schlecht ausfallen, wenn der Zeiger auf lokalen oder konstanten Speicher steht. Ich habe festgestellt, dass viele OpenCL-Implementierungen Sie nicht davor warnen, also müssen Sie sehr vorsichtig sein.