что такое avx в играх

AVX инструкции и Cinebench R15-R23

реклама

Первым делом я хочу сказать что использую один и тот же комплект ОЗУ на обеих системах AMD и Intel, и я хотел бы особо отметить слоты ОЗУ в системной плате ASRock B560M-HDV, они отвратительны без преувеличений, эта конструкция от Asus с одной защелкой просто ужасна, каждый раз перемещая модули ОЗУ между системами я слышу скрип контактов в углу слота который без защелки.

Рано или поздно либо дорожки у модулей ОЗУ познают отвал, либо слот ОЗУ, крайне рекомендую обходить стороной системные платы с такими «крутыми» слотами ОЗУ без второй защелки, это не только противно звучит при использовании, но и явно сокращает срок службы оборудования.

Я очень рад, что Gigabyte не страдает экономией на слотах ОЗУ в ущерб надежности и долговечности как это делает Asus и ASRock (по сути тот же Asus), но меня удручает осознание того, что новенькая ASRock B560 может скоро пойти в мусорное ведро из-за максимально дешевых слотов которые Asus (ASRock) применяют даже в дорогих платах.

реклама

P.S. На видеокарте я специально до конца стараюсь не защелкивать ибо доступ к защелке видеокарты, как правило, затруднен.

Теперь продолжим по теме Cinebench и AVX инструкций, сколько бы я ретестов не делал, каждый раз было очевидно занижение результатов AMD начиная с версии Cinebench R20, я уже и HPET таймер привлек к тестам, и процессоры зафиксировал на одинаковой частоте, и сейчас вот пришла очередь затронуть AVX.

Тестовые условия

Частота ядер зафиксирована на отметке 3.9 ГГц, HPET по умолчанию (включен), R7 2700X с одним активным CCX.

ПК отключен от сети интернет, чтобы минимизировать погрешность из-за возможной скрытной фоновой активности Windows 10.

реклама

Информация в CPU-Z остается прежняя при отключении AVX с помощью командной строки потому не буду дублировать скриншоты.

Enable AVX: bcdedit /set xsavedisable 0
Disable AVX: bcdedit /set xsavedisable 1

В процессе тестирования GTX 750 Ti была заменена на R9 290, но на результаты это никак не повлияло в итоге.

Результаты тестов

реклама

Cinebench R15

Cinebench R20

Cinebench R23

Здесь результат R7 2700X со включенным AVX имеет погрешность в меньшую сторону, возможно видеодрайвер в фоне что-то сделал или какая-то служба Windows 10 подгрузила, но я это заметил уже после сбора всех результатов.

Чтобы не искажать данной погрешностью общую картину, я возьму устойчивый результат из предыдущих моих тестов который получен в таких же условиях со включенным AVX и HPET по умолчанию с зафиксированными частотами ядер.

Я конечно мог удалить «неудачный» результат на который что-то из фона Windows 10 повлияло, но мне нужно будет снова доставать ОЗУ из противных слотов с одной защелкой от Asus (ASRock), так что оставлю как напоминание о возможной погрешности результатов по вине операционной системы.

Результаты Windows 7 отсутствуют т.к. разработчики 23 версии теста подключили библиотеки Microsoft что отказываются работать на «неправильной» системе.

Rage II

Я думал использовать игру, чтобы посмотреть есть ли значительная разница от AVX с процессором AMD Ryzen, но игра просто падала в ошибку с отключенным AVX через Windows.

Я даже установил R9 290 вместо GTX 750Ti в ПК с R7 2700X, Delux MicroATX 450W судя по всему очень рад новому партнеру, хотя пришлось скрутить один переходник с молекса на 8pin VGA.

В итоге установка видеокарты от AMD не повлияла никак на игру и она падает с ошибкой, причем замечу, с Windows 7 данная игра прекрасно работала на процессоре Phenom II x4 830 без AVX.

Чтобы наверняка исключить возможность вины Windows 10, я провел тесты еще и на основном ПК с R5 1600AF и Windows 7, при отключении AVX средствами Windows игра все так же падает.

Похоже здесь лежит вина на основе Windows Vista, в той самой на которой построены Windows 7/8/10/11.

AIDA64

Так как с игрой не срослось я решил пойти в AIDA64, однако замечу, AIDA64 активно использует AVX2, но я не нашел способ отключить AVX2 отдельно от AVX.

А еще я обнаружил что изменение множителя AVX2 в BIOS никак не влияло на результаты тестов несмотря на то, что AIDA64 использует AVX2.

Я пробовал разные варианты множителя, но результат оставался прежним всегда во всех тестах AIDA64.

SiSoftware Sandra Lite (san3149)

Не получив вменяемых результатов со стороны AIDA64 я вспомнил про «Сандру», она умеет тестировать отдельно AVX и AVX2.

К сожалению множитель AVX2 в BIOS действительно неисправен, как его не крути, а результаты одинаковы даже в «Сандре», впрочем, это же Intel, ничего удивительного.

Разбор результатов

Cinebench

И снова очевидна картина с занижением результатов процессоров от AMD, процессор от Intel даже с отключенным AVX иногда получает заметно большее преимущество относительно AMD.

Если сравнить прирост от использования AVX инструкций, то у AMD прирост близок к уровню погрешности нежели к реальным изменениям, тем временем Intel получает почти 10% прироста с использованием AVX, видимо не просто так разработчики подсунули библиотеки от Intel в Cinebench R20/R23.

На использование AVX2 разница точно не вытягивает с i3-10105F, просто обращаю внимание на это, когда перейдем к AIDA64 и SiSoftware Sandra станет понятно почему я обратил на это внимание.

Читайте также:  что куропатки делают ночью у костра

AIDA64

Тесты AIDA64 активно используют AVX и AVX2 в зависимости от того что доступно, и управлять тем что использует AIDA64 невозможно, в итоге использовался AVX2 как с i3-10105F, так и с R7 2700X (1CCX), на этом моменте я просто напомню что Zen/Zen+ имеют лишь совместимость с AVX2, но не полноценную поддержку.

Здесь в полной мере можно заметить насколько сильный прирост дает AVX2 с которым Zen/Zen+ лишь совместимы, однако без помощи AVX2 процессор i3-10105F выглядит жалко по сравнению с R7 2700X даже несмотря на одинаковое количество ядер и частоты.

Еще можно отметить что даже при использовании AVX2 инструкций с которыми у Zen/Zen+ не лучшие отношения, R7 2700X показал прирост почти в 5%, а в худшем случае почти 3%, когда в Cinebench прирост от AVX даже до 2% с трудом дотягивал.

SiSoftware Sandra Lite (san3149)

Вот и настал черед самого интересного, в отличие от AIDA64 данный арифметический тест использует как AVX так и AVX2, и результаты для этих инструкций раздельно представлены.

У Zen/Zen+ действительно с AVX2 дела обстоят не лучшим образом и производительность падает на

4-6% относительно SSE4, тем временем i3-10105F при работе с короткими целочисленными данными имеет 15% прирост относительно SSE4 инструкций.

С AVX/FMA инструкциями относительно SSE4 однозначно нельзя сказать что лучше, R7 2700X или i3-10105F.

Особо бросается в глаза разница с AVX/FMA инструкциями у i3-10105F, она едва доходит до +2%, а в Cinebench R20/23 разница подлетала под +10%, магия библиотек от Intel.

Если же сравнить R7 2700X с i3-10105F при одинаковом количестве ядер и частотах, то i3-10105F смог обойти R7 2700X (1CCX) только используя AVX2 инструкции и то лишь в одном случае из четырёх, во всех остальных случаях i3-10105F отстает от R7 2700X (1CCX) до

Заключение

Факт того что Cinebench R20/R23 больше любит процессоры от Intel снова подтвердился, оно и не удивительно учитывая что разработчики внедрили библиотеки от Intel в свой бенчмарк.

Судя по всему Intel завышает результаты своих процессоров через манипуляции с AVX инструкциями в своих библиотеках которые внедрены в Cinebench начиная с 20 версии.

AIDA64 тем временем отлично реагирует на AVX2 инструкции, и в двух тестах из трёх i3-10105F смог обойти один CCX модуль Zen+ что с AVX2 дружит только на уровне совместимости, однако i3-10105F не справился с усложненным тестом SinJulia и сильно отстал в производительности от Zen+.

Без помощи AVX2 инструкций i3-10105F сильно отстал от одного модуля R7 2700X на равных частотах, а еще может показаться что R7 2700X всегда использовал AVX инструкции даже когда они отключены.

SiSoftware Sandra показала что в чистой производительности i3-10105F весьма слаб по сравнению с R7 2700X при условии одинакового количества ядер и частот, и не способен без помощи AVX2 обойти старый Zen+, по сути ситуация аналогична, как и в AIDA64, только разрыв не столь серьезный.

В целом сложно сказать есть ли от AVX прирост производительности относительно SSE4, возможно результаты искажены проблемами ядра Windows Vista на котором основаны Windows 7/8/10/11.

Например, Rage II явно пытается AVX использовать, но падает с ошибкой, когда на системе у которой физически не было AVX (Phenom II) эта игра прекрасно работала, а еще отсутствие значительной разницы от AVX с Zen+ в AIDA64.

Отдельно отмечу множитель AVX2 в BIOS, он абсолютно не влиял на результаты тестов, как бы я его не крутил.

Я это еще приметил сразу при покупке LGA1200 системы когда пытался крутить AVX2 множитель чтобы в стресс тесте посмотреть будут ли изменения, но изменений в потреблении мощности не было, и теперь я уже точно знаю что множитель просто не работает.

Ну а еще рекомендую обходить стороной системные платы у которых распаяны слоты ОЗУ на одной защелке, может быть они удобнее при установке модуля (я не заметил особой разницы в удобстве между классическими слотами), но они крайне опасны при извлечении модуля.

Источник

Запуск игры без AVX — что это такое?

Приветствую ребята))

Коротко ответ: запуск игры на процессоре без поддержки AVX-инструкций. Обычно это старые процессоры, в итоге игра может работать, но возможно с меньшей производительностью.

Все современные процессоры поддерживают AVX. Вот например старый i7 2600K (1155 сокет) уже поддерживает AVX, но первую версию, а i7 860 (1156 сокет) — вообще не поддерживает, но правда он еще старее чем i7 2600K. Кстати легендарный процессор Q9650 (775 сокет) разумеется и близко не знает про AVX.

AVX — что это такое? Еще есть AVX2. Это улучшенные версии старых инструкций SSE. Простыми словами — это специальные инструкции, которые помогают процессору работать быстрее с некоторыми вычислениями. Они созданы как для процов Интел, так и для АМД. AVX расшифровывается как Advanced Vector Extensions.

Ну а что делают инструкции AVX? Все просто — процессор без поддержки AVX за один такт сможет сложить 1 пару чисел, а с поддержкой — уже 10. Однако это все нужно не так часто, как нам кажется, по большей части эффект заметен в профессиональных программах, а в играх не так заметно. Возможно современные игры уже больше могут использовать AVX.

Читайте также:  что значит быть вежливым беседа с детьми

Как узнать — поддерживает ли процессор AVX? Очень просто — скачайте бесплатную утилиту CPU-Z, она маленькая, неприхотливая, запустите ее и посмотрите какие инструкции поддерживает ваш проц:

Вот выше на картинке — проц i5 7400, вполне современный, как видим он поддерживает и просто AVX и более новую версию AVX2. Впрочем ничего удивительного — i5 7400 это седьмое поколение, а это 2017 год.

Надеюсь данная информация оказалась полезной. Удачи и добра, до новых встреч друзья!

Источник

Опять AVX инструкции

Как-то раз я постил коммент Дмитрия Бачило, который предлагал фиксить AVX инструкцию для запуска на процессорах, их не поддерживающих. Тогда в комментариях был спор, правда ли эти AVX инструкции не нужны, и не сломают ли они чего. Так вот. Не нужны. Из патчноута нового патча киберпанка:

Поясните мне за AVX, будьте любезны.

Вот тоже интересно. Просто Стар Ситизен их тоже использует, но только там их удалять наоборот не собираются, а добавили в одном из патчей. Зачем они нужны то вообще?

Без avx для, например, сложения 10 пар чисел надо потратить 10 тактов процессора, а с avx это можно сделать примерно за 1 такт, что в 10 раз быстрее.

Любопытно, все еще непонятно, но уже не настолько, спасибо.

Тогда почему и без них все работает?

Может и работает, может просто чуть медленнее

Насколько медленней? Это может критично отразиться на игре?

Может и нет. Секунда, две, три. Хз короче.

Ну вот на это даже я могу дать ответ — в самом пачноуте написано, что есть процессоры их не поддерживающие и на них то и возникают проблемы. Что логично.

Но при этом проблем без авх нет

Ну. да. Как написал чел выше, это ускоряет сложения. если он прав, то AVX ускоряет часть вычислений на процессорах, которые их поддерживают. А на процессорах, которые не поддерживают, случаются баги.

То есть, если они удалены для всех то, вероятно, мы получим некоторое замедление расчётов на поддерживающих AVX процессорах, а на не поддерживающих просто пропадут баги, которые бил только на них.

Опять же, я сейчас базируюсь только на прочитанном выше и ничего наверняка не утверждаю — просто складывают 2 и 2 без AVX инструкций,)

Почему этому поехавшему кто-то уже задонатил более 200k рублей? Чё не так с этим миром? о_О

Источник

AVX (Advanced Vector Extensions)

На практике расширение AVX впервые было использовано в 2011 году в процессорах с архитектурой Sandy Bridge (Intel), а также Bulldozer (AMD), и внесло в их работу значительные усовершенствования.

В частности:

• в 2 раза были увеличены регистры SIMD (со 128 до 256 бит), а также добавлен набор дополнительных 256-битных инструкций, выполняемых в этих регистрах. При этом, сохранилась поддержка существующих 128-битных SSE-инструкций процессора, которые теперь использовали только первую половину новых 256-битных регистров.

Благодаря расширению регистров, процессор с поддержкой AVX за каждый такт может обрабатывать до 2 раз больше информации в интенсивных вычислениях с плавающей точкой, в частности, в разного рода мультимедийных программах (работа с фото-, видеоконтентом), а также при решении научных задач. В случаях, когда возможна более высокая степень параллелизма, AVX увеличивает производительность с вещественными числами.

Но для этого, кроме поддержки AVX процессором, требуется также использование соответствующей операционной системы и адаптированного программного обеспечения. В Windows поддержка AVX появилась, только в Windows 7 SP1.

• инструкции AVX вместо двухоперандного используют так называемый «неразрушающий» трёхоперандный синтаксис. Что это значит? Процессор вместо A=A+B работает по схеме A+B=C, благодаря чему после операции регистр A остается неизмененным и может быть использован в дальнейших вычислениях. Как следствие, отпадает необходимость сохранять регистр A (если он нужен в дальнейшем) перед вычислением и восстанавливать его по завершению вычисления из другого регистра или памяти. Это позитивно сказывается на быстродействии процессора.

• для инструкций AVX отсутствуют строгие требования, касающиеся выравнивания операндов в памяти, что несколько облегчает работу программистов. Однако, при разработке приложений, используемых эти инструкции, все же рекомендуется следить за выравниванием на размер операнда во избежание снижения производительности.

• в AVX введена новая схема кодирования инструкций процессора (VEX), предоставившая возможность в перспективе вводить новые команды AVX (что важно для дальнейшего развития SIMD).

Люди обычно оценивают процессор по количеству ядер, тактовой частоте, объему кэша и других показателях, редко обращая внимание на поддерживаемые им технологии.

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

Так, полюбившийся многим браузер Google Chrome не работает без поддержки процессором SSE2. Инструкции AVX могут в разы ускорить обработку фото- и видеоконтента. А недавно один мой знакомый на достаточно быстром Phenom II (6 ядер) не смог запустить игру Mafia 3, поскольку его процессор не поддерживает инструкции SSE4.2.

Читайте также:  что такое алфавитный подход к измерению информации

Если аббревиатуры SSE, MMX, AVX, SIMD вам ни о чем не говорят и вы хотели бы разобраться в этом вопросе, изложенная здесь информация станет неплохим подспорьем.

Одной из особенностей компьютеров на базе процессоров AMD, которой они выгодно отличаются от платформ Intel, является высокий уровень совместимости процессоров и материнских плат. У владельцев относительно не старых настольных систем на базе AMD есть высокие шансы безболезненно «прокачать» компьютер путем простой замены процессора на «камень» из более новой линейки или же флагман из предыдущей.

Если вы принадлежите к их числу и задались вопросом «апгрейда», эта небольшая табличка вам в помощь.

В таблицу можно одновременно добавить до 6 процессоров, выбрав их из списка (кнопка «Добавить процессор»). Всего доступно больше 2,5 тыс. процессоров Intel и AMD.

Пользователю предоставляется возможность в удобной форме сравнивать производительность процессоров в синтетических тестах, количество ядер, частоту, структуру и объем кэша, поддерживаемые типы оперативной памяти, скорость шины, а также другие их характеристики.

Дополнительные рекомендации по использованию таблицы можно найти внизу страницы.

В этой базе собраны подробные характеристики процессоров Intel и AMD. Она содержит спецификации около 2,7 тысяч десктопных, мобильных и серверных процессоров, начиная с первых Пентиумов и Атлонов и заканчивая последними моделями.

Информация систематизирована в алфавитном порядке и будет полезна всем, кто интересуется компьютерной техникой.

Таблица содержит информацию о почти 2 тыс. процессоров и будет весьма полезной людям, интересующимся компьютерным «железом». Положение каждого процессора в таблице определяется уровнем его быстродействия в синтетических тестах (расположены по убыванию).

Есть фильтр, отбирающий процессоры по производителю, модели, сокету, количеству ядер, наличию встроенного видеоядра и другим параметрам.

Для получения подробной информации о любом процессоре достаточно нажать на его название.

Проверка стабильности работы центрального процессора требуется не часто. Как правило, такая необходимость возникает при приобретении компьютера, разгоне процессора (оверлокинге), при возникновении сбоев в работе компьютера, а также в некоторых других случаях.

В статье описан порядок проверки процессора при помощи программы Prime95, которая, по мнению многих экспертов и оверлокеров, является лучшим средством для этих целей.


ПОКАЗАТЬ ЕЩЕ

Источник

Что такое avx в играх

Advanced Vector Extensions (AVX) — расширение системы команд x86 для микропроцессоров Intel и AMD, предложенное Intel в марте 2008. [1]

AVX предоставляет различные улучшения, новые инструкции и новую схему кодирования машинных кодов.

Содержание

Улучшения

Новая схема кодирования

Новая схема кодирования инструкций VEX использует VEX префикс. В настоящий момент существуют два VEX префикса, длиной 2 и 3 байта. Для 2-х байтного VEX префикса первый байт равен 0xC5, для 3-х байтного 0xC4. В 64-битном режиме первый байт VEX префикса уникален. В 32-битном режиме возникает конфликт с инструкциями LES и LDS, который разрешается старшим битом второго байта, он имеет значение только в 64-битном режиме, через неподдерживаемые формы инструкций LES и LDS. [4] Длина существующих AVX инструкций, вместе с VEX префиксом, не превышает 11 байт. В следующих версиях ожидается появление более длинных инструкций.

Новые инструкции

Инструкция Описание
VBROADCASTSS, VBROADCASTSD, VBROADCASTF128 Копирует 32-х, 64-х или 128-ми битный операнд из памяти во все элементы векторного регистра XMM или YMM.
VINSERTF128 Замещает младшую или старшую половину 256-ти битного регистра YMM значением 128-ми битного операнда. Другая часть регистра-получателя не изменяется.
VEXTRACTF128 Извлекает младшую или старшую половину 256-ти битного регистра YMM и копирует в 128-ми битный операнд-назначение.
VMASKMOVPS, VMASKMOVPD Условно считывает любое количество элементов из векторного операнда из памяти в регистр-получатель, оставляя остальные элементы несчитанными и обнуляя соответствующие им элементы регистра-получателя. Также может условно записывать любое количество элементов из векторного регистра в векторный операнд в памяти, оставляя остальные элементы операнда памяти неизменёнными
VPERMILPS, VPERMILPD Переставляет 32-х или 64-х битные элементы вектора согласно операнду-селектору (из памяти или из регистра).
VPERM2F128 Переставляет 4 128-ми битных элемента двух 256-ти битных регистров в 256-ти битный операнд-назначение с использованием непосредственной константы (imm) в качестве селектора.
VZEROALL Обнуляет все YMM регистры и помечает их как неиспользуемые. Используется при переключении между 128-ми битным режимом и 256-ти битным.
VZEROUPPER Обнуляет старшие половины всех регистров YMM. Используется при переключении между 128-ми битным режимом и 256-ти битным.

Также в спецификации AVX описана группа инструкций PCLMUL (Parallel Carry-Less Multiplication, Parallel CLMUL)

Применение

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

Поддержка в операционных системах

Использование YMM регистров требует поддержки со стороны операционной системы. Следующие системы поддерживают регистры YMM:

Микропроцессоры с AVX

Совместимость между реализациями Intel и AMD обсуждается в XOP instruction set.

Будущие расширения

Схема кодирования инструкций VEX легко допускает дальнейшее расширение набора инструкций AVX. В следующей версии, AVX2, планируется добавить инструкции для работы с целыми числами, FMA3 (увеличит производительность при обработке чисел с плавающей запятой в 2 раза [10] ), загрузку распределенного в памяти вектора (gather) и прочее.

Различные планируемые дополнения системы команд x86:

Источник

Строительный портал