Использование в FFmpeg инструкций AVX-512 позволило в 94 раза ускорить некоторые операции
Разработчики проекта FFmpeg сообщили о реализации новых ассемблерных оптимизаций, в которых, благодаря применению набора инструкций AVX-512, удалось ускорить некоторые операции, применяемые при декодировании видео. Прирост производительности ассемблерного кода с инструкциями AVX-512 составил 94, 44, 64 и 4.24 раза по сравнению базовой реализацией, написанной на языке Си без использования SIMD-инструкций. В ассемблерном коде с оптимизациями на базе инструкций AVX-2 прирост составлял 67, 27, 55 и 4.38 раз, соответственно, а на основе инструкций SSSE3 - 40, 21, 29 и 2.49 раз. Изменения добавлены в состав библиотеки dav1d, предлагающей альтернативный декодировщик для формата кодирования видео AV1. Инструкции AVX-512 доступны в процессорах AMD на базе микроархитектур Zen 4 и 5, и в процессорах Intel на базе таких микроархитектур, как Skylake-X, Ice Lake, Tiger Lake и Rocket Lake.