Здравствуйте, Тёмчик, Вы писали:
Тё>Обладатели Alder Lake 12900 могут попрощаться с AVX512. Запрет прилетит с обновлением микрокода.
Чисто из интереса: а AVX512 реально где-то используется? И второе: я слышал рассказы, что при использовании сильно падает частота, поэтому толка не так много.
Re: Интел снова снизил производительность задним числом
"На хвосте висит мочало. Не начать ли всё сначала?"
Может кто-то с фактами объяснить, чем именно AVX-512 так плох (греет процессор?), что вызывает эффекты типа снижения частоты или полный запрет?
Что в нём такого, что у каждого ядра есть 4-5 обычных АЛУ, которые могут работать впараллель, а уже 8 (чтобы работали команды 8*64) оно не тянет? Чем операции в AVX512 такие дорогие?
Почему тротлинг начинается аж от AVX2 (256 бит)?
The God is real, unless declared integer.
Re[2]: Интел снова снизил производительность задним числом
Здравствуйте, Nuzhny, Вы писали:
N>Чисто из интереса: а AVX512 реально где-то используется?
Я так понял, главным образом для нейросетевой ерунды функциональности.
>И второе: я слышал рассказы, что при использовании сильно падает частота, поэтому толка не так много.
Пишут, что искусственное снижение частоты при использовании AVX512, как и блокировку AVX512 вообще, можно обойти, если это позволяет материнская плата и некоторые ASUS'ы позволяют.
Здравствуйте, Nuzhny, Вы писали:
Тё>>Обладатели Alder Lake 12900 могут попрощаться с AVX512. Запрет прилетит с обновлением микрокода.
N>Чисто из интереса: а AVX512 реально где-то используется?
H.265 может использовать, например.
> И второе: я слышал рассказы, что при использовании сильно падает частота, поэтому толка не так много.
От всего может падать частота. Толк в любом случае есть, даже со сниженной частотой данные обрабатываются гораздо быстрей, чем без AVX-512.
Но в целом то, что эти инструкции толком нигде не доступны, конечно сильно мешают их повсеместному использованию.
Re[2]: Интел снова снизил производительность задним числом
N>Чисто из интереса: а AVX512 реально где-то используется?
Да в принципе где угодно может. Это в основном дальнейшее развитие SSE/AVX, та же векторизация, только снова в два раза длиннее.
Чтобы убедиться, можно собрать не хелло ворлд C/C++ приложение с /arch:AVX512 если MSVC, -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq, если gcc/clang и увидеть креш с Undefined Instruction на не-AVX512 процессоре.
Русский военный корабль идёт ко дну!
Re[3]: Интел снова снизил производительность задним числом
Здравствуйте, Shtole, Вы писали:
N>>Чисто из интереса: а AVX512 реально где-то используется? S>Я так понял, главным образом для нейросетевой ерунды функциональности.
С одной стороны, да. Я видел статью от Майкрософта, где оно давало буст, но не само по себе, а включая очень сложную системы кэшировани промежуточных результатов. Ведь при инференсе нейросетей не процессор узкое место, а необходимость бесконечного многократного копирования весов нейросети из ОЗУ в кэш (не считая входных данных). Так себе применение, если честно.
Re[3]: Интел снова снизил производительность задним числом
Здравствуйте, Alexander G, Вы писали:
AG>Да в принципе где угодно может. Это в основном дальнейшее развитие SSE/AVX, та же векторизация, только снова в два раза длиннее. AG>Чтобы убедиться, можно собрать не хелло ворлд C/C++ приложение с /arch:AVX512 если MSVC, -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq, если gcc/clang и увидеть креш с Undefined Instruction на не-AVX512 процессоре.
Это понятно, что потенциально многие могут использовать. Но кто использует притом с пользой для себя? Кодеки — это хороший пример, если нет аппаратной поддержки, конечно.
Re[2]: Интел снова снизил производительность задним числом
Здравствуйте, Nuzhny, Вы писали:
N>Чисто из интереса: а AVX512 реально где-то используется? И второе: я слышал рассказы, что при использовании сильно падает частота, поэтому толка не так много.
В кодеках может быть полезно. По статье, у меня возникла такая теория: наличие AVX512 в полноценных ядрах, и отсуствие в e-waste ядрах, вносит путаницу. При активных e-ядрах, AVX512 невозможен. Поэтому, алдеры совсем без e-ядер могут, в теории, cannibalise их i9 просто за счет AVX512. Вот AVX512 и отключили.
Возможно, что в следующем поколении, завезут AVX512 в e-ядра, либо заменят их на полноценные и снова активируют. Пространство для маневра, на случай если AMD выкатит быстрее проц.
Вот что интересно: эта победа 12900 в некоторых сценариях, там AVX512 использовался?
Re[2]: Интел снова снизил производительность задним числом
Здравствуйте, Nuzhny, Вы писали:
Тё>>Обладатели Alder Lake 12900 могут попрощаться с AVX512. Запрет прилетит с обновлением микрокода. N>Чисто из интереса: а AVX512 реально где-то используется? И второе: я слышал рассказы, что при использовании сильно падает частота, поэтому толка не так много.
Используем для трассировщика лучей. С помощью AVX код проверяет 16 треугольников подряд, так что ускорение получается очень неплохое.
Sapienti sat!
Re[2]: Интел снова снизил производительность задним числом
Здравствуйте, netch80, Вы писали:
Тё>>Обладатели Alder Lake 12900 могут попрощаться с AVX512. Запрет прилетит с обновлением микрокода. N>"На хвосте висит мочало. Не начать ли всё сначала?" N>Может кто-то с фактами объяснить, чем именно AVX-512 так плох (греет процессор?), что вызывает эффекты типа снижения частоты или полный запрет?
Проблема в том, что при обычной работе узлы AVX-512 на процессоре отключены и энергию не потребляют. И при их включении их тепловой бюджет начинает съедать бюджет нормальных ALU. Причём так кардинально начинает.
Выглядит это так — запускаем функцию, которая использует AVX, и весь остальной код начинает тормозить.
Sapienti sat!
Re[3]: Интел снова снизил производительность задним числом
Здравствуйте, Cyberax, Вы писали:
C>Используем для трассировщика лучей. С помощью AVX код проверяет 16 треугольников подряд, так что ускорение получается очень неплохое.
а чё за продукт (если не секрет) и почему не на RTX картах ? (с аппаратной трассировкой лучей)
Re[3]: Интел снова снизил производительность задним числом
Здравствуйте, Cyberax, Вы писали:
N>>Может кто-то с фактами объяснить, чем именно AVX-512 так плох (греет процессор?), что вызывает эффекты типа снижения частоты или полный запрет? C>Проблема в том, что при обычной работе узлы AVX-512 на процессоре отключены и энергию не потребляют. И при их включении их тепловой бюджет начинает съедать бюджет нормальных ALU. Причём так кардинально начинает.
То есть узлы AVX-512 это нечто отдельное от узлов AVX-256 и от узлов AVX/SSE-128, и ещё и от FPU, с которыми они могли объединить пачку функций типа сложения single и double? А почему так? Зачем выделять какие-то отдельные узлы под это? Почему не так, что в зависимости от длины операндов просто активируется разное количество одинаковых узлов?
Или имеется в виду, что, например, 2 узла (под 128 бит) входят в расчётный бюджет, а 4 или 8 (под 512) уже не входят? Если да, то почему они не включены в бюджет процессоров уровня i9/Xeon, если те и так имеют сильно расширенный бюджет?
Без ответов на эти вопросы предыдущий ответ выглядит принципиально неполным.
C>Выглядит это так — запускаем функцию, которая использует AVX, и весь остальной код начинает тормозить.
Да, я такое слышал и про AVX-256. Но продолжаю не понимать.
The God is real, unless declared integer.
Re: Интел снова снизил производительность задним числом
Здравствуйте, Nuzhny, Вы писали:
N>Чисто из интереса: а AVX512 реально где-то используется?
Например, в продукции Topaz Gigapixel -это разные нейросетевые обработчики фото и видео: чистка от шумов, интеллектуальное увеличение и др. Вроде (сам не проверял) включение AVX512 дает примерно двукратное ускорение.
В свою очередь интересно, это только AlderLake 12900 касается? Или только у него и был AVX512?
Re[4]: Интел снова снизил производительность задним числом
Здравствуйте, xma, Вы писали:
C>>Используем для трассировщика лучей. С помощью AVX код проверяет 16 треугольников подряд, так что ускорение получается очень неплохое. xma>а чё за продукт (если не секрет) и почему не на RTX картах ? (с аппаратной трассировкой лучей) https://www.aurorasolar.com/
Используем CPU просто банально из-за того, что дешевле. Трассировка лучей — это только часть необходимой работы. Кроме того, у нас немного упрощённая задача — мы просто проверяем на пересечение лучей и геометрии сцены, нам не нужно проверять отражения.
Кстати, RTX тестировали, он быстрее примерно в 100 раз.
Sapienti sat!
Re[4]: Интел снова снизил производительность задним числом
Здравствуйте, netch80, Вы писали:
C>>Проблема в том, что при обычной работе узлы AVX-512 на процессоре отключены и энергию не потребляют. И при их включении их тепловой бюджет начинает съедать бюджет нормальных ALU. Причём так кардинально начинает. N>То есть узлы AVX-512 это нечто отдельное от узлов AVX-256 и от узлов AVX/SSE-128, и ещё и от FPU, с которыми они могли объединить пачку функций типа сложения single и double?
Я не очень понимаю как оно устроено, но похоже что именно так.
Эффект вполне реальный и хорошо документированный: https://blog.cloudflare.com/on-the-dangers-of-intels-frequency-scaling/
N>А почему так? Зачем выделять какие-то отдельные узлы под это? Почему не так, что в зависимости от длины операндов просто активируется разное количество одинаковых узлов?
Думаю, что результат эволюционной доработки. Добавлять поддержку 512-битных векторов в обычные ALU они ниасилили, и просто приделали дополнительные модули сбоку (когда появился свободный бюджет транзисторов).
N>Или имеется в виду, что, например, 2 узла (под 128 бит) входят в расчётный бюджет, а 4 или 8 (под 512) уже не входят? Если да, то почему они не включены в бюджет процессоров уровня i9/Xeon, если те и так имеют сильно расширенный бюджет?
Насколько я понимаю, AVX-512 действительно реализован совсем отдельным блоком.
C>>Выглядит это так — запускаем функцию, которая использует AVX, и весь остальной код начинает тормозить. N>Да, я такое слышал и про AVX-256. Но продолжаю не понимать.
С AVX-256 мы такого не видели.
Sapienti sat!
Re[2]: Интел снова снизил производительность задним числом
Здравствуйте, Cyberax, Вы писали:
C>>>Выглядит это так — запускаем функцию, которая использует AVX, и весь остальной код начинает тормозить. N>>Да, я такое слышал и про AVX-256. Но продолжаю не понимать. C>С AVX-256 мы такого не видели.
C AVX2 тоже активируется потолок по частоте 5.1ггц (могу ошибаться). Так что, если намеряли попугаев сначала без AVX2, но под 5.2ггц, а потом под AVX2- это разные попугаи. Вообще, сладывается такое подозрение, что рекламные обзоры "рекомендуем к покупке" с портянками попугаев под разными синтетическими тестами, и с попугаями древних, как кал мамонта, игр в FHD (а раньше было и в 1280x720) — вводящая в заблуждение реклама.
В любом случае, люди повелись на этих попугаев, которых им в реальном использовании не видать, а потом их кинули. Задним числом. Интел делает это снова и снова. В такой ситуации набросы на AMD "он медленнее на 10% в рекламной статье" несостоятельны по причине, что результаты в статье в любой момент могут стухнуть.
Re: Интел снова снизил производительность задним числом
Тё>Обладатели Alder Lake 12900 могут попрощаться с AVX512. Запрет прилетит с обновлением микрокода.
Эх, никак у них не получается включить AVX512 и не спалить проц.
Re[2]: Интел снова снизил производительность задним числом
N>Чисто из интереса: а AVX512 реально где-то используется? И второе: я слышал рассказы, что при использовании сильно падает частота, поэтому толка не так много.
Если бы эти команды можно было использовать, то использовали бы многие. Но пока они большей частью есть только на бумаге.
Сам набор команд достаточно полезный для многих задач.
Re[3]: Интел снова снизил производительность задним числом
S>Я так понял, главным образом для нейросетевой ерунды функциональности.
Не только, везде, где код можно векторизовать. Но при их включении проц превращается в нагревательный элемент. А вот для нейронок таки GPU рулит.
S>Пишут, что искусственное снижение частоты при использовании AVX512, как и блокировку AVX512 вообще, можно обойти, если это позволяет материнская плата и некоторые ASUS'ы позволяют.
И проц быстро уйдет за 100 градусов и из системного блока появится дымок. Но если будешь охлаждать жидким азотом, то таки будет работать.
Re[4]: Интел снова снизил производительность задним числом
N>С одной стороны, да. Я видел статью от Майкрософта, где оно давало буст, но не само по себе, а включая очень сложную системы кэшировани промежуточных результатов. Ведь при инференсе нейросетей не процессор узкое место, а необходимость бесконечного многократного копирования весов нейросети из ОЗУ в кэш (не считая входных данных). Так себе применение, если честно.
Openvino очень неплохо работает на CPU. Вполне сравнимо 6 ядер CPU интеловского с 1080 (инференс).
Re[6]: Интел снова снизил производительность задним числом
Тё>В любом случае, люди повелись на этих попугаев, которых им в реальном использовании не видать, а потом их кинули. Задним числом. Интел делает это снова и снова. В такой ситуации набросы на AMD "он медленнее на 10% в рекламной статье" несостоятельны по причине, что результаты в статье в любой момент могут стухнуть.
Уже лет 15 как. Дело в том, что у разных задач разные требования ко всему железу и всё железо влияет на время работы задачи. Тот же AVX хорош для векторизируемой числодробилки, но для разных задач разные требования к кешам процессора, памяти и даже дискам, но для типичных пользовательских задач нафиг не упал.
Re: Интел снова снизил производительность задним числом
Здравствуйте, Тёмчик, Вы писали:
Тё> Запрет прилетит с обновлением микрокода.
Обычно микрокод в Bios. Там легко заменяется на любой предыдущий, а можно и не обновлять или если новая материнка с новым кодом — старый туда залить. Единственно, если будут еще какой важный баг исправлять, то придется выбирать — либо со старым(где ошибка) жить, либо с отрубленным AVX.
Вероятно в Винде еще могут подсунуть обновление микрокода, но это тоже должно выпиливаться.
Re[2]: Интел снова снизил производительность задним числом
Здравствуйте, _ilya_, Вы писали:
Тё>> Запрет прилетит с обновлением микрокода.
__>Обычно микрокод в Bios. Там легко заменяется на любой предыдущий, а можно и не обновлять или если новая материнка с новым кодом — старый туда залить. Единственно, если будут еще какой важный баг исправлять, то придется выбирать — либо со старым(где ошибка) жить, либо с отрубленным AVX. __>Вероятно в Винде еще могут подсунуть обновление микрокода, но это тоже должно выпиливаться.
В Linux обновляется (обычно из пакета linux-firmware). Надо ещё за ним следить.
В винде, по слухам, это регулярно, но я не знаю точного механизма.
Боюсь, запрет это до первого серьёзного исправления какого-то другого бага...
The God is real, unless declared integer.
Re[5]: Интел снова снизил производительность задним числом
N>Ага, после пруннинга и квантизации. Что как раз пытается сгладить узкое место с памятью.
Да. При пруннинге и квантизации ты же проверяешь, упало ли качество нейронки и насколько или не проверяешь?
Ну и если все параметры удовлетворяют, то нафига флоаты 32 битные гонять? Для обогрева помещения?
Re[6]: Интел снова снизил производительность задним числом
N>Ага, после пруннинга и квантизации. Что как раз пытается сгладить узкое место с памятью.
А для GPU это узкое место еще более напряжное. PCI-3 еще жестче ограничивает и в том числе из-за него очень малое количество задач получается скинуть на GPU и CPU c AVX оказываются эффективнее.
Re[7]: Интел снова снизил производительность задним числом
Здравствуйте, Vzhyk2, Вы писали:
V>Да. При пруннинге и квантизации ты же проверяешь, упало ли качество нейронки и насколько или не проверяешь?
Проверяю, всегда становится хуже. Кроме того, нет никаких гарантий, что на других сэмплах оно будет работать корректно. Их особо нет и так, но после ещё меньше. Всё таки все эти процедуры проходят под контролем ограниченной выборки, задающей диапазоны входных значений.
V>Ну и если все параметры удовлетворяют, то нафига флоаты 32 битные гонять? Для обогрева помещения?
Можно и float16, как на видеокарте. На правильном железе ускоряется вдвое без потери качества.
Ну и самое главное, что после квантизации и прининга получается уже совсем другая сетка и напрямую сравнивать некорректно.
Re[7]: Интел снова снизил производительность задним числом
Здравствуйте, Vzhyk2, Вы писали:
N>>Ага, после пруннинга и квантизации. Что как раз пытается сгладить узкое место с памятью. V>А для GPU это узкое место еще более напряжное. PCI-3 еще жестче ограничивает и в том числе из-за него очень малое количество задач получается скинуть на GPU и CPU c AVX оказываются эффективнее.
Херня, веса нейросети один раз копируются из system в global memory и там всё время лежат. С входными данными тоже всё просто:
1. Если мы режем картинку на кропы и обрабатываем их друг за другом (батчами или нет), то можно во время инференса ставить асинхронное копирование следующей порции данных. К тому времени, как инференс закончится, мы также асинхронно копируем результаты назад, а в это же время запускаем инференс на новой порции данных.
2. Практически тоже самое мы делаем и при инференсе на видео. Декодинг чаще всего осуществляется быстрее инференса, поэтому следующий кадр летит в видеопамять, пока предыдущий инференсится. Если есть возможность задействовать кодек, который может декодировать сразу в видеопамять, то получается ещё лучше — вообще всё делается на видеокарте.
Ты, видимо, никогда не занимался оптимизацией инференса, вот и говоришь.
Re[8]: Интел снова снизил производительность задним числом
N>Ну и самое главное, что после квантизации и прининга получается уже совсем другая сетка и напрямую сравнивать некорректно.
Значит ты оные операции делаешь неправильно. У тебя только точности выходных вероятностей должны понизится, но никак не увеличится количество ошибок (кроме того случая, когда вероятность для принятия решения около порога).
Но кто знает доверительные интервалы для выдаваемого сетками? Никто. Их даже никто в мире не знает, как считать.
Re[8]: Интел снова снизил производительность задним числом
N>Ты, видимо, никогда не занимался оптимизацией инференса, вот и говоришь.
Дальше я помолчу лучше. Всё одно бессмысленно дальше с тобой обсуждать этот вопрос.
Re[2]: Интел снова снизил производительность задним числом
Здравствуйте, netch80, Вы писали:
N>Может кто-то с фактами объяснить, чем именно AVX-512 так плох (греет процессор?), что вызывает эффекты типа снижения частоты или полный запрет? N>Что в нём такого, что у каждого ядра есть 4-5 обычных АЛУ, которые могут работать впараллель, а уже 8 (чтобы работали команды 8*64) оно не тянет? Чем операции в AVX512 такие дорогие? N>Почему тротлинг начинается аж от AVX2 (256 бит)?
Это всё не точно. Но выглядит так, что запихали чрезмерно много возможных операций пересекающихся на этих несчастных регистрах. В итоге выходит очень здоровая разводка логики — если посмотреть на площадь кристалла, то AVX-512 прямо ощутимо больше всех ALU вместе взятых. И всё это ещё и прилично греется. Я бы даже наверное сказал, что есть ощущение, будто сам набор инструкций проектировали без оглядки на физику и то как именно его будут реализовывать.
Re[3]: Интел снова снизил производительность задним числом
Здравствуйте, Alexander G, Вы писали:
AG>Да в принципе где угодно может. Это в основном дальнейшее развитие SSE/AVX, та же векторизация, только снова в два раза длиннее.
Не совсем "та же". Туда добавлено много новых операций, в том числе с целыми числами.
Вообще, на AVX-512 можно эффективно парсить JSON, XML, yaml, и прочие синтаксические штуки.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Интел снова снизил производительность задним числом
__>Вероятно в Винде еще могут подсунуть обновление микрокода, но это тоже должно выпиливаться.
Это ж золотое дно! Объявляешь половину функций процессора устаревшей, выпускаешь обязательное обновление шindows с их отключением, идите юзеры покупайте новый процессор+материнку+память.
Re[3]: Интел снова снизил производительность задним числом
Здравствуйте, Osaka, Вы писали:
O>Это ж золотое дно! Объявляешь половину функций процессора устаревшей, выпускаешь обязательное обновление шindows с их отключением, идите юзеры покупайте новый процессор+материнку+память.
Есть забавный баг на платфоме 2011-3... Выпустили процы с "багом" (микрокодом хотели ограничивать буст, но выпустили микрокод который был без ограничения... но он разошелся в массы и теперь у всех), что ограничение турбобуста не действовало по количеству активных ядер, т.е. турбобуст максимальный был одноврменно на все ядра. Так появились "разблокированные" Xeon 2699v3(ну и другие 26**v3) которые быстрее следующего поколения v4. Просто баг победил маркетологов, которые пытались искуственно зарезать производительность.
Здравствуйте, Vzhyk2, Вы писали:
V>Эх, никак у них не получается включить AVX512 и не спалить проц.
Не пори чушь — ей больно. Процы уже давно имеют термозащиту, так что перегреть его не удастся даже если очень захотеть.
Здравствуйте, Cyberax, Вы писали:
C>Проблема в том, что при обычной работе узлы AVX-512 на процессоре отключены и энергию не потребляют. И при их включении их тепловой бюджет начинает съедать бюджет нормальных ALU. Причём так кардинально начинает.
Мне вот интересно. Размер подложки так дорог? Нельзя просто увеличить подложку, разнести схемы на большое расстояние и тем самым избежать нагрева смежных областей? Ведь тогда отводить тепло будет куда проще.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Интел снова снизил производительность задним числом
Здравствуйте, VladD2, Вы писали:
VD>Мне вот интересно. Размер подложки так дорог? Нельзя просто увеличить подложку, разнести схемы на большое расстояние и тем самым избежать нагрева смежных областей? Ведь тогда отводить тепло будет куда проще.
Фабы не делают отдельные чипы, они делают целые пластины (вроде 300 мм сейчас стандарт), так что любое пустое место — это чистый убыток, т.к. эти пластины сделаны из сверхчистого кремния, а потому очень недешевы. Плюс у кремния довольно низкая теплопроводность (где-то в ~100 раз ниже алюминия и в ~170 раз ниже меди). Потому сейчас экспериментируют с капиллярами прямо в кристалле для охлаждения супермощных чипов — либо жидкостного, либо агентом с фазовым переходом (как в холодильнике). Ещё читал про R&D в сторону использования сверхтолстой (по меркам кристалла конечно) металлизации для отвода тепла.
Здравствуйте, koandrew, Вы писали:
K>Фабы не делают отдельные чипы, они делают целые пластины (вроде 300 мм сейчас стандарт), так что любое пустое место — это чистый убыток, т.к. эти пластины сделаны из сверхчистого кремния, а потому очень недешевы.
Да нифига. Пластина стоит 10, от силы 20% от цены процессора. При этом основная площадь на камне — это кэш. Думаю, никто бы не возражал, если бы за 5% от цены можно было избавиться от всех этих костылей.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[4]: Интел снова снизил производительность задним числом
Здравствуйте, VladD2, Вы писали:
VD>Мне вот интересно. Размер подложки так дорог? Нельзя просто увеличить подложку, разнести схемы на большое расстояние и тем самым избежать нагрева смежных областей? Ведь тогда отводить тепло будет куда проще.
Переходные процессы начнутся. Ну, то есть можно, если пожертвовать частотой и соответственно скоростью. Или сохранять частоту, но добавлять промежуточные блоки — но тогда возрастёт латентность, усложнится разводка в целом и выйдет, что частота большая, а скорость работы маленькая.