2
私はOpenCLには非常に新しいです(今日開始)。私は次のような方法で配列の番号を追加するためのカーネルコードを実現するのに苦労している: A [] = [1,2,3,4,5,6,7,8,9,10]、合計はsum [] = [4,10,16]でなければなりません。OpenClカーネルコード
i.e, sum[i]=A[i]+A[i+2];
i=i+3;
私は次のコードを試しましたが、動作しないようです。
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++;"
" } ";
私はこれを行う方法ではないことを確信しています。この点に関する提言は高く評価されるだろう。
ありがとうございます!コードによって正しい結果が得られます。少し読んだ後で、私は作業項目のグローバルIDを明示的に変更する必要がないことに気付きました。ご協力ありがとうございました :) – Ijjz