Платим блогерам
Блоги
apprenticebase
Само 100-кратное ускорение получила функция, которая задействует доступный в современных процессорах Intel и AMD набор векторных инструкций AVX-512.

Разработчики мультимедийного проекта FFmpeg добились значительного прироста производительности. Так, благодаря оптимизации с использованием инструкций AVX-512 и написанного вручную кода на ассемблере одна из функций стала работать в 100 раз быстрее. Сами создатели проекта отмечают, что пока ускорение затрагивает лишь один компонент, но улучшения ожидаются и в других частях FFmpeg.

Может быть интересно

Добиться такого прироста в производительности позволила низкоуровневая оптимизация, о чём стоит рассказать поподробнее. Напомним, что язык ассемблера даёт программистам почти прямой доступ к инструкциям процессора, что позволяет выжать из «железа» максимальную производительность. Этот подход помогает обойти ограничения компиляторов, которые, по словам разработчиков FFmpeg, не всегда оптимально распределяют ресурсы. Команда проекта настолько привержена этому методу, что даже создала онлайн-школу по его применению.

В недавно опубликованном патче уточняется, что 100-кратное ускорение получила функция rangedetect8_avx512. Она задействует набор векторных инструкций AVX-512, доступный в современных процессорах Intel и AMD. Подобные инструкции стандарта SIMD (одна инструкция — множество данных) идеально подходят для параллельной обработки мультимедийных потоков, чем и занимается FFmpeg. Владельцы более старого оборудования также заметят улучшения: функция rangedetect8_avx2 стала работать в 64 раза быстрее, используя расширения AVX2, появившиеся ещё в 2013 году с микроархитектурой Haswell.

Нынешний рекорд — это продолжение планомерной работы по оптимизации проекта. Ранее в 2024 году разработчики уже добивались значительного ускорения за счёт AVX-512: тогда производительность процедур декодирования видео выросла от 3 до 94 раз.

Источник: techspot.com
+
Написать комментарий (0)
Теперь в новом формате

Наш Telegram-канал @overclockers_news
Подписывайся, чтобы быть в курсе всех новостей!

Популярные новости

Сейчас обсуждают