Я очень новичок в OpenCL (начался сегодня). Мне сложно реализовать код ядра для добавления чисел массива следующим образом: Если A [] = [1,2,3,4,5,6,7,8,9,10], то сумма должна быть суммой [] = [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++;"
" } ";
Я уверен, что это не способ сделать это. Предложения в этом отношении будут оценены.
Большое спасибо! Код дает правильные результаты. После небольшого чтения я понял, что глобальный идентификатор рабочего элемента не нужно явно изменять. Спасибо за поддержку :) – Ijjz