Векторное произведение с использованием SSE всего с 3-мя shuffle. (комментарии)
Это сообщение сгенерировано автоматически.
Intel Ivy bridge:
3 shuffles cross: 3 такта
4 shuffles cross: 4 такта
Scalar SSE (mulss, subss): 8.5 тактов
FPU: 12.4 тактов
Reserved.
Хоть одному человеку за всю историю пригодился его "рисервед"?
Но на всякий случай: Reserved
Reserved.
Зарезервировано (для ответа Андрей5000 что да, пригодился).
прикольно
не знаю как векторное произведение , но раньше на AMD XP+ перепаковка приведённая в спецификации amd процессоров работала несколько быстрее для умножения массива (AOS) векторов (float4) на матрицу (float4x4) чем shufps ..
ещё можно было ускорить несколько за счёт prefetch или (ещё больше) за счёт приведённого в этой же спецификации программного префетча - путём предварительной загрузки массива данных в регистры общего назначения (без операций над ними) ..
хз, как сейчас ..
Кстати да, насколько быстрее этот вариант fpuшной реализации?
вот кстати нашёл перемножение матрицы на вектор на 232 странице в современной спецификации "AMD64 Architecture"
"Software Optimization Guide for AMD64 Processors"
http://support.amd.com/TechDocs/25112.PDF
как видите используется перепаковка .. как я уже говорил - такой вариант был (на AXP+) несколько быстрее чем shufps , но раз он оставлен в современной спецификации значит должен быть прирост и на современных процессорах AMD . как на intel я не знаю ..
Андрей5000
> Кстати да, насколько быстрее этот вариант fpuшной реализации?
проблема в том что массовые векторные произведения не понятно где вообще могут понадобиться ..
itmanager85
> проблема в том что массовые векторные произведения не понятно где вообще могут
> понадобиться ..
Отсечение BACK FACE при рендеринге например.
> но раз он оставлен в современной спецификации значит должен быть прирост и на
> современных процессорах AMD
На AMD сидел после Pentium 200 MMX. Начиная с AMD K6, Duron, и заканчивая Athlon XP 2200+. Спасибо, наелся. Только Intel теперь.
Но это вряд ли что меняет. Думаю SSE версия быстрее, раз AMD отказалось от 3DNow! и ввела поддержку SSE.
itmanager85
> как на intel я не знаю ..
На intel (на AMD скажите сами):
3 shuffles cross: 3 такта
4 shuffles cross: 4 такта
scalar SSE: 8.5 тактов
FPU: 12.4 тактов
Truthfinder
> Спасибо, наелся.
что так не понравилось ?
Truthfinder
> Думаю SSE версия быстрее
вообще то я говорил про перепаковку в рамках стандартных инструкций SSE-расширения
itmanager85
> что так не понравилось ?
Ну это не тема для холивора. У меня свои требования к системе, у других свои. Личное дело каждого.
> вообще то я говорил про перепаковку в рамках стандартных инструкций
> SSE-расширения
Пример кода в студию. Сравним.
Тема в архиве.