使用c ++ AMP,我正在尝试优化我的数学函数。对于交叉产品而言有点难题:
float_3 CrossProduct(float_3 v1, float_3 v2) restrict(amp) {
float a = mad(v1.y, v2.z, -v1.z * v2.y);
float b = mad(v1.z, v2.x, -v1.x * v2.z);
float c = mad(v1.x, v2.y, -v1.y * v2.x);
return float_3(a, b, c);
}
所以你可以看到,我不得不翻转累积论证的标志。这还有什么性能提升? - 算作额外指令吗?
我在它上面运行的基准测试速度似乎没有提高:/