我是一個新的for openCL。如何從數組中獲得總和數組
我知道如何總結一維數組。但我的問題是如何從openCL中的1 1D數組中獲得一個sum數組。
int a[1000];
int b[1000];
.... //save data to a
for(int i = 0 ;i < 1000; i ++){
int sum = 0;
for(int j = 0 ;j < i; j ++){
sum += a[j];
}
b[i] = sum;
}
任何建議是值得歡迎的。
你可以看看ArrayFire中OpenCL sum函數的源代碼,它是開源的,在這裏:http://www.arrayfire.com/docs/group__reduce__func__sum.htm – arrayfire
我想你說的是「前綴總和「或」掃描「。對不起,現在沒有答案,但像「prefix sum opencl」這樣的websearches會帶來一些結果,也許這已經有所幫助了。 – Marco13
您的代碼是前綴總和。它相當於'for(int i = 0; i <1000; j ++){sum + = a [j]; b [i] =總和; }'。 –