我有一組循環運行的操作。如何在OpenCL中累積向量?
for(int i = 0; i < row; i++)
{
sum += arr1[0] - arr2[0]
sum += arr1[0] - arr2[0]
sum += arr1[0] - arr2[0]
sum += arr1[0] - arr2[0]
arr1 += offset1;
arr2 += offset2;
}
現在我想向量化這樣
for(int i = 0; i < row; i++)
{
convert_int4(vload4(0, arr1) - vload4(0, arr2));
arr1 += offset1;
arr2 += offset2;
}
的操作,但我怎麼積聚在標sum
得到的載體,而不使用循環?
我正在使用OpenCL 2.0。
然後cpu必須快速與此,因爲沒有多餘的乘法,因爲在點積gpu也是快 –