Я хочу, чтобы векторный код для некоторых C-кода, чтобы ускорить его. Для этой цели (SPE на процессоре Cell или CBE) я хочу использовать SIMD-математику. Код первоначально использует некоторые физические векторные вычисления (скорость, ускорение и т. Д.), Поэтому в некоторых частях кода существует множество операций, таких как;Лучший способ векторизовать код C от руки
ax=a*vx+b*rx;
ay=a*vy+b*ry;
az=d*vz+b*rz;
поэтому на данный момент я думал о преобразовании v-х и г, чтобы векторы (на SPE, один вектор может содержать 4 одиночных значений с плавающей запятой), так что в псевдокоде это должно быть что-то вроде
vector V,R,A;
V.x=vx;
R.x=r.x; (and same for the others "y,z")
A=spu_sum(spu_prod(a,V),spu_prod(b,R));
ax=A.x; (and same for the others "y,z")
как вы думаете, этот подход стоит или вы можете подумать о лучшем?
Благодаря