The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Использование в FFmpeg инструкций AVX-512 позволило в 94 раза ускорить некоторые операции"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Использование в FFmpeg инструкций AVX-512 позволило в 94 раза ускорить некоторые операции"  +/
Сообщение от opennews (?), 05-Ноя-24, 11:03 
Разработчики проекта FFmpeg сообщили о реализации новых ассемблерных оптимизаций, в которых, благодаря применению инструкций AVX-512, удалось ускорить некоторые операции, применяемые при декодировании видео, в 94, 64, 43 и 4.24 раза по сравнению с кодом на языке Си. В оптимизациях на базе инструкций 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...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=62177

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +25 +/
Сообщение от Мохнонос (?), 05-Ноя-24, 11:03 
Молодцы! Вот есть же разработчики, которые кроме обвеса плюшками и раскабанивания ПО ведут его непосредственную тщательную полировку
Ответить | Правка | Наверх | Cообщить модератору

31. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  –7 +/
Сообщение от Аноним (31), 05-Ноя-24, 13:24 
AVX512 инструкции появились в 2016 году 8 лет назад внимание вопрос. Это так долго до разработчиков доходила весть что инструкции появились? Они так долго копили на проц с поддержкой данных инструкций? Они 8 лет разрабатывали алгоритм? Ответ на любой вопрос показывает что разрабы у ффмпег не очень скажем так.
Ответить | Правка | Наверх | Cообщить модератору

34. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +1 +/
Сообщение от Аноним (34), 05-Ноя-24, 13:29 
когда тебе денег за работу не платят, то выбираешь сам когда и что делать по мере возможностей и желания.
Ответить | Правка | Наверх | Cообщить модератору

36. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +1 +/
Сообщение от Аноним (31), 05-Ноя-24, 13:31 
Справедливо Интел должна доплачивать чтобы кто-то юзал их лишние инструкции.
Ответить | Правка | Наверх | Cообщить модератору

41. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Юрий (??), 05-Ноя-24, 13:49 
Так интел уже официально не поддерживает AVX-512.
Ответить | Правка | Наверх | Cообщить модератору

49. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (49), 05-Ноя-24, 14:43 
А что так? Не взлетело?
Ответить | Правка | Наверх | Cообщить модератору

39. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +2 +/
Сообщение от Anony (?), 05-Ноя-24, 13:40 
Ты думаешь что все пользователи и все сервера сразу же в 2016 году обновились на новые процессоры с поддержкой AVX-512? Серьезно?
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

43. Скрыто модератором  +/
Сообщение от Аноним (43), 05-Ноя-24, 14:23 
Ответить | Правка | Наверх | Cообщить модератору

56. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Вертел ваши спинеры (?), 05-Ноя-24, 15:07 
Под сокет АМ5 завезли.
А раз они есть, то надо их использовать. Зря чтоли апгрейдился.
Что там у интела не интересно и вообще пофик
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

40. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +1 +/
Сообщение от Аноним (40), 05-Ноя-24, 13:49 
На 12400 попытались появиться, но интел быстренько резанули это дело. А проц 22-го года, если что.
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

45. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Ivan_83 (ok), 05-Ноя-24, 14:25 
Не, чувак, тут вопросы к чипмейкерам.
Я очень хотел проц с AVX512 а интел только завтраками кормило и в итоге зажало это для серверных камней.
АМД только вот только для ам5 сокета раздуплилось.
Потом там разные наборы этого AVX512 доступны, типа здесь одно - там другое. Я когда на AVX кодил мне часто из AVX2 не хватало инструкций, а с AVX512 я так понял что наборы ещё скуднее.

А судя по тестам - мне и на обычном AVX2 производительности хватит :)
Да даже на коредуба с SSSE3 видимо есть жизнь :)

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

3. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +8 +/
Сообщение от dim4k (ok), 05-Ноя-24, 11:04 
Ассемблер стреляет тогда - когда этого никто не ждёт😏😏😏
Ответить | Правка | Наверх | Cообщить модератору

16. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +2 +/
Сообщение от КО (?), 05-Ноя-24, 12:09 
Осталось только найти что конкретно сломали, лол
Ответить | Правка | Наверх | Cообщить модератору

19. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Ник (??), 05-Ноя-24, 12:18 
Нужно было писать на Java, там же волшебный jit который сам весь код оптимизирует!
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

4. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +1 +/
Сообщение от Аноним (4), 05-Ноя-24, 11:06 
Avx всё так же режет частоту процессора? Кто-нибудь уже составил сравнительную табличку того, чем придётся жертвовать при задействовании?
Ответить | Правка | Наверх | Cообщить модератору

7. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от dalco (ok), 05-Ноя-24, 11:13 
Вроде как, урезание частот при включенном AVX относилось только к ранним моделям "синих".
Ответить | Правка | Наверх | Cообщить модератору

10. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +1 +/
Сообщение от Аноним (4), 05-Ноя-24, 11:17 
Они там повторяли с каждым новым avx.
Ответить | Правка | Наверх | Cообщить модератору

11. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +5 +/
Сообщение от Cykooz (ok), 05-Ноя-24, 11:25 
В моих реализациях для AVX2, с использованием fixed-point арифметики, какой либо выигрыш перед наивной реализацией на float-ах, без AVX-а, полностью исчезает при выполнении задачи уже в 7-8 параллельных потоках.
Так что если нужна именно однопоточная скорость, то SIMD дают заметный выигрыш. А в многопоточке, чем больше потоков, тем меньше выигрыш. Я полагаю, что это из-за снижения частоты ядер процессора при использовании SIMD.

PS: У меня AMD Ryzen 9 5950X, в нём нет AVX-512.

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

21. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от ryoken (ok), 05-Ноя-24, 12:31 
>>наивной реализацией
Ответить | Правка | Наверх | Cообщить модератору

27. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +1 +/
Сообщение от Аноним (27), 05-Ноя-24, 12:42 
Может быть, он даже не ошибся. Называют же, например, реализацию преобразования Фурье в лоб, как по формуле, наивной.
Ответить | Правка | Наверх | Cообщить модератору

47. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от НяшМяш (ok), 05-Ноя-24, 14:31 
Это из-за снижения частоты процессора с ростом потоков. У меня в однопотоке такой же процессор бустится почти до 5.2, а во многопотоке до 4.4-4.6. Но у меня хороший кулер на процессоре и я довольно много потратил времени в биосе настраивая лимиты, чтобы он так работал. В стоке эти цифры ещё меньше будут.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

53. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Ivan_83 (ok), 05-Ноя-24, 14:49 
У него АМД, вряд ли просадка с 4 до 3,4 даст заметное проседание скорости, а ниже базовой АМД не сбрасывает, только тротлить может при перегреве.

Я у себя вообще везде бусты выключил чтобы не тратить время и силы на охлаждение, а местами ещё и частота ниже базовой установлена.

Ответить | Правка | Наверх | Cообщить модератору

48. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (48), 05-Ноя-24, 14:34 
Лучше в 1 потоке в 8 раз быстрее считать, чем в 8 потоках с той же скоростью.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

50. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Ivan_83 (ok), 05-Ноя-24, 14:45 
Таки ничего удивительного, учитывая что AVX позволяет более плотно загружать ИМЕЮЩИЕСЯ блоки, а у вас там гипертрединг ещё.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

22. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (22), 05-Ноя-24, 12:33 
На нормальных материнских платах можно регулировать оффсет частоты при выполнении AVX-инструкций, в т.ч. и ставить его в 0.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

8. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +5 +/
Сообщение от _kp (ok), 05-Ноя-24, 11:14 
Время перекодирования или только "некоторые операции"? ;)


Ps: и сравнение не с предудущим вариантом, а
"по сравнению с кодом на языке Си", то есть вообще без avx/sse.
Если б сравнили с i386, то прирост был бы еще больше.

Ответить | Правка | Наверх | Cообщить модератору

12. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Андрей (??), 05-Ноя-24, 11:32 
Судя по скрину - некоторые операции... которые являются по сути базовыми для операций кодирования. Цельный результат оценить сложнее и скорее всего совокупный прирост небольшой, т.к. медленные операции того же чтения с диска быстрее не стали, да и в случае векторных расширений интересно на самом деле то, что там вообще кроме непосредственно одновременных вычислений есть куча расширений чисто для улучшения работы с кэшем, те же базовые load/store и вот тут предположу большую часть вклада внесли именно оптимизации работы кэша, а вычисления скорее довеском стали ибо будучи казалось бы более быстрыми они имеют высокие задержки и длятся дольше, ввиду чего задерживают конвеер не давая линейного прироста скорости.
Ответить | Правка | Наверх | Cообщить модератору

14. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (14), 05-Ноя-24, 11:54 
> Время перекодирования или только "некоторые операции"? ;)

Отдельные функции.

> Если б сравнили с i386, то прирост был бы еще больше.

Сравнили с тем, что использовалось до этого.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

13. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Big Robert TheTables (?), 05-Ноя-24, 11:50 
Вроде бы удаляли эти инструкции, но вообще интересно, для каких именно разработчиков эти наборы инструкций добавляли. Ибо авторы ффмпег сейчас совсем как мы, сторонние программисты - мы зашли в магазин автозапчастей и увидели, что на прилавке есть двигатель, который подойдет на замену нашему. Но ведь изначально-то движок был для какой-то другой ракеты, был разработан, сбалансирован, проверен для иного использования.
В идеале авторы кодеков должны делать брейншторм с авторами CPU. Если этого не делается, значит, с чипмейкерами брейнштормит кто-то другой.
Ответить | Правка | Наверх | Cообщить модератору

20. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +1 +/
Сообщение от Аноним (20), 05-Ноя-24, 12:22 
> мы зашли в магазин автозапчастей и увидели, что на прилавке есть двигатель, который...

Нет, мы взяли котёнка по кличке "ядро", у которого есть дверцы разного размера (от 64 до 512) и попробовали самую большую. Получилось хорошо.

> Но ведь изначально-то движок был для какой-то другой ракеты

Нет, это универсальные дверцы для любых законных целей.

> должны делать брейншторм с авторами CPU

Тебе должны? Откуда уверенность, что им не хватает новой специальной дверцы?

> Вроде бы удаляли эти инструкции

Только в интелах с E-котятами, потому у этих малых котят нет 512-дверцы. Дверцы малым и большим котятам положено иметь одинаковые.

Ответить | Правка | Наверх | Cообщить модератору

33. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +1 +/
Сообщение от Аноним (31), 05-Ноя-24, 13:28 
Поэтому компания Интел и находится на грани банкротства с убытками 16 миллиардов в квартал. В квартал, Карл!
Ответить | Правка | Наверх | Cообщить модератору

42. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (20), 05-Ноя-24, 14:18 
Не поэтому. С тем же успехом можно сказануть, что "у него хардварные кодеки лучше и энкодер AV1 в 15 поколении появился, за счёт них точно выкарабкается".
Ответить | Правка | Наверх | Cообщить модератору

59. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от _kp (ok), 05-Ноя-24, 15:29 
> Поэтому

Из за этого покупатели не разбегаются.
А вот, скоропортящиеся лотерейные процесоры, это уже серьёзнее.

Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

17. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +1 +/
Сообщение от Аноним (17), 05-Ноя-24, 12:10 
Чует моё сердце, что тут 100 пудово есть какой-нить "нюанс", типа всё делаем в однопотоке или ещё чего-нить подобное.
Ответить | Правка | Наверх | Cообщить модератору

37. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Rodegast (ok), 05-Ноя-24, 13:31 
Нюанс в том что не везде он теперь будет работать.
Ответить | Правка | Наверх | Cообщить модератору

26. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (26), 05-Ноя-24, 12:42 
Я надеюсь они пользовались GNU assembler с синтаксисом AT&T.
Ответить | Правка | Наверх | Cообщить модератору

30. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +1 +/
Сообщение от Аноним (27), 05-Ноя-24, 12:51 
Надеюсь, с синтаксисом Intel.
Ответить | Правка | Наверх | Cообщить модератору

35. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (31), 05-Ноя-24, 13:30 
Надеюсь на раст.
Ответить | Правка | Наверх | Cообщить модератору

44. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (27), 05-Ноя-24, 14:23 
На Rust надейся, а сам не плошай.
Ответить | Правка | Наверх | Cообщить модератору

52. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (52), 05-Ноя-24, 14:49 
Не надейтесь. Там ассемблер. Но и не расстраивайтесь. Для раста много ниш открывается. По замене питона, бейсика и т.п.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

58. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (48), 05-Ноя-24, 15:21 
По факту это питон всех заменяет и вырвался на первое место по частоте использования.
Ответить | Правка | Наверх | Cообщить модератору

29. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (29), 05-Ноя-24, 12:50 
кхм. а скомпилировать из си с использование указанных инструкций?
Ответить | Правка | Наверх | Cообщить модератору

32. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +1 +/
Сообщение от BeLord (ok), 05-Ноя-24, 13:26 
А компилятор смогёт?-))
Ответить | Правка | Наверх | Cообщить модератору

46. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Ivan_83 (ok), 05-Ноя-24, 14:29 
На AVX2 главное не сильно хуже получилось.
Ответить | Правка | Наверх | Cообщить модератору

51. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (52), 05-Ноя-24, 14:47 
> 94, 44, 64 и 4.24 раза по сравнению базовой реализацией

Представил себе качество базовой реализации.

Ответить | Правка | Наверх | Cообщить модератору

55. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (55), 05-Ноя-24, 15:05 
Рассуждать о качестве тут вообще не к месту.

Правильнее называть это не базовой реализацией, а референсом. Этот код должен быть просто написан, чтобы исключить ошибки в нём. Референс этот используется для проверки правильности результата оптимизированных реализаций. Поэтому сравнение в скорости с референсом вообще некорректно. Даже на Си можно написать код быстрее, но код этот будет сложным, и его самого придётся чем-то проверять. Оптимизированный код с векторами (векторные интринсики) можно и на Си написать, но в ffmpeg предпочитают ассемблер.

Новость желтушная от названия до содержания.

Ответить | Правка | Наверх | Cообщить модератору

54. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (55), 05-Ноя-24, 14:55 
> в 94 раза ускорить

Ужасно желтушный заголовок, потому что сравнивать надо не с Си, а с оптимизацией на предыдущих векторных инструкциях, то есть AVX2.

А там быстрее примерно в 1.5 раза, и это при увеличении длины векторов в 2 раза. И еще неизвестно как это влияет на процессор.

Ответить | Правка | Наверх | Cообщить модератору

57. "Использование в FFmpeg инструкций AVX-512 позволило в 94 раз..."  +/
Сообщение от Аноним (57), 05-Ноя-24, 15:12 
СРОЧНО! ДРОПНУТЬ ПОДДЕРЖКУ! ВСЕХ КАЛЬКУЛЯТОРОВ, что меньше x86_64-v2!
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру