Ich bin sehr neu zu OpenCL (heute gestartet). Ich habe es schwer, den Kernel-Code zum Hinzufügen von Zahlen eines Arrays wie folgt zu realisieren: Wenn A [] = [1,2,3,4,5,6,7,8,9,10], dann sollte die Summe sein [] = [4,10,16];OpenCl Kernel Code
i.e, sum[i]=A[i]+A[i+2];
i=i+3;
Ich habe den folgenden Code versucht, aber es scheint nicht zu funktionieren.
std::string kernel_code =
" void kernel simple_add(global const int* A, global const int* B, global int* C){ "
" int x =0;"
" int i =get_global_id(0);"
" SUM[x]=A[i]+A[i+2];"
" i=i+3;
" x++;"
" } ";
Ich bin sicher, das ist nicht der Weg, es zu tun. Vorschläge in dieser Hinsicht würden geschätzt werden.
Vielen Dank !! Der Code liefert korrekte Ergebnisse. Nach ein wenig Lesen habe ich festgestellt, dass die globale ID des Workitems nicht explizit geändert werden muss. Danke für deine Unterstützung :) – Ijjz