Есть ли какие-либо усиления FMA для отрицательного аккумулятора?

Работая с 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);
}

Итак, как вы можете видеть, мне пришлось перевернуть знак накопленного аргумента. Есть ли еще прирост производительности от этого? Считается ли — дополнительная инструкция?

Тест, на котором я работал, похоже, не улучшился по скорости: /

1

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]