Аббревиатура AVX расшифровывается как Advanced Vector Extensions. Это наборы инструкций для процессоров Intel и AMD, идея создания которых появилась в марте 2008 года. Впервые такой набор был встроен в процессоры линейки Intel Haswell в 2013 году. Поддержка команд в Pentium и Celeron появилась лишь в 2020 году.
Прочитав эту статью, вы более подробно узнаете, что такое инструкции AVX и AVX2 для процессоров, а также — как узнать поддерживает ли процессор AVX.
AVX и AVX2 – что это такое
AVX/AVX2 — это улучшенные версии старых наборов команд SSE. Advanced Vector Extensions расширяют операционные пакеты со 128 до 512 бит, а также добавляют новые инструкции. Например, за один такт процессора без инструкций AVX будет сложена 1 пара чисел, а с ними — 10. Эти наборы расширяют спектр используемых чисел для оптимизации подсчёта данных.
Наличие у процессоров поддержки AVX весьма желательно. Эти инструкции предназначены, прежде всего, для выполнения сложных профессиональных операций. Без поддержки AVX всё-таки можно запускать большинство игр, редактировать фото, смотреть видео, общаться в интернете и др., хотя и не так комфортно.
Как узнать, поддерживает ли процессор AVX
Далее будут показаны несколько простых способов узнать это. Некоторые из методов потребуют установки специального ПО.
1. Таблица сравнения процессоров на сайте Chaynikam.info.
Для того чтобы узнать, поддерживает ли ваш процессор инструкции AVX, можно воспользоваться предлагаемым способом. Перейдите на этот сайт. В правом верхнем углу страницы расположена зелёная кнопка Добавить процессор. Нажмите её.
В открывшемся окне вам будет предложено указать параметры выбора нужного процессора. Все указывать не обязательно.
В результате выполнения поиска будет сформирована таблица с параметрами выбранного из списка процессора. Прокрутите таблицу вниз. В строке Поддержка инструкций и технологий будет показана подробная информация.
2. Утилита CPU-Z.
Один из самых простых и надёжных способов узнать поддерживает ли процессор AVX инструкции, использовать утилиту для просмотра информации о процессоре — CPU-Z. Скачать утилиту можно на официальном сайте. После завершения установки ярлык для запуска утилиты появится на рабочем столе. Запустите её.
В строке Instructions показаны все инструкции и другие технологии, поддерживаемые вашим процессором.
3. Поиск на сайте производителя.
Ещё один способ узнать, есть ли AVX на процессоре, воспользоваться официальным сайтом производителя процессоров. В строке поиска браузера наберите название процессора и выполните поиск. Если у вас процессор Intel, выберите соответствующую страницу в списке и перейдите на неё. На этой странице вам будет предоставлена подробная информация о процессоре.
Если у вас процессор от компании AMD, то лучше всего будет воспользоваться сайтом AMD. Выберите пункт меню Процессоры, далее — пункт Характеристики изделия и затем, выбрав тип (например, Потребительские процессоры), выполните переход на страницу Спецификации процессоров. На этой странице выполните поиск вашего процессора по названию и посмотрите подробную информацию о нём.
Выводы
В этой статье мы довольно подробно рассказали о поддержке процессорами инструкций AVX, AVX2, а также показали несколько способов, позволяющих выяснить наличие такой поддержки конкретно вашим процессором. Надеемся, что дополнительная информация об используемом процессоре будет полезна для вас, а также поможет в выборе процессора в будущем.
Была ли эта статья полезной?
ДаНет
Оцените статью:
(8 оценок, среднее: 5,00 из 5)
Загрузка…
Об авторе
Над статьей работал не только её автор, но и другие люди из команды te4h, администратор (admin), редакторы или другие авторы. Ещё к этому автору могут попадать статьи, авторы которых написали мало статей и для них не было смысла создавать отдельные аккаунты.
Некоторые из высокобюджетных (AAA) игр, выпущенных в наши дни, требуют процессора, совместимого с AVX (Advanced Vector Extensions), для запуска на вашем ПК. Например, Death Stranding, Yakuza 3 Remastered, Age of Empires IV, Dying Light 2 и т. д.…
Если ваш процессор не поддерживает AVX, при попытке запустить игру, для которой требуется AVX, игра не запустится, и вы увидите сообщение об ошибке, подобное приведенному ниже.
«Ваш процессор должен поддерживать инструкции AVX для запуска этой игры».
«Обнаружено неподдерживаемое оборудование. Для запуска этой игры требуется процессор, поддерживающий набор инструкций AVX».
«Фатальная ошибка. Ошибка запуска приложения. Пожалуйста, проверьте системные требования. (AVX)».
«Минимальные требования не выполнены. Предупреждение. Ваша система не соответствует минимальным требованиям. Для получения оптимальной производительности обратитесь к списку поддерживаемого оборудования. Требуются следующие наборы инструкций ЦП: AVX».
Примечание. Игра может вылететь даже без каких-либо сообщений об ошибках.
Перед покупкой игры с требованиями AVX целесообразно проверить, поддерживает ли ее ваш процессор.
Вы можете использовать бесплатное программное обеспечение, чтобы проверить это. Вы можете установить его, выполнив следующие действия. Затем используйте его, чтобы убедиться, что ваш процессор поддерживает AVX.
- Перейдите на https://www.fosshub.com/HWiNFO.html.
- Чтобы загрузить программное обеспечение, нажмите «HWiNFO Installer».
- Затем установите его и запустите HWiNFO64.
- Появится крошечное окно, подобное приведенному выше. Просто нажмите кнопку «Run».
- Когда HWiNFO64 открыт, загляните в раздел ЦП.
- Если AVX зеленый, это означает, что ваш процессор поддерживает его.
Над статьей работал не только её автор, но и другие люди из команды te4h, администратор (admin), редакторы или другие авторы. Ещё к этому автору могут попадать статьи, авторы которых написали мало статей и для них не было смысла создавать отдельные аккаунты.
Некоторые из высокобюджетных (AAA) игр, выпущенных в наши дни, требуют процессора, совместимого с AVX (Advanced Vector Extensions), для запуска на вашем ПК. Например, Death Stranding, Yakuza 3 Remastered, Age of Empires IV, Dying Light 2 и т. д.…
Если ваш процессор не поддерживает AVX, при попытке запустить игру, для которой требуется AVX, игра не запустится, и вы увидите сообщение об ошибке, подобное приведенному ниже.
«Ваш процессор должен поддерживать инструкции AVX для запуска этой игры».
«Обнаружено неподдерживаемое оборудование. Для запуска этой игры требуется процессор, поддерживающий набор инструкций AVX».
«Фатальная ошибка. Ошибка запуска приложения. Пожалуйста, проверьте системные требования. (AVX)».
«Минимальные требования не выполнены. Предупреждение. Ваша система не соответствует минимальным требованиям. Для получения оптимальной производительности обратитесь к списку поддерживаемого оборудования. Требуются следующие наборы инструкций ЦП: AVX».
Примечание. Игра может вылететь даже без каких-либо сообщений об ошибках.
Перед покупкой игры с требованиями AVX целесообразно проверить, поддерживает ли ее ваш процессор.
Вы можете использовать бесплатное программное обеспечение, чтобы проверить это. Вы можете установить его, выполнив следующие действия. Затем используйте его, чтобы убедиться, что ваш процессор поддерживает AVX.
- Перейдите на https://www.fosshub.com/HWiNFO.html.
- Чтобы загрузить программное обеспечение, нажмите «HWiNFO Installer».
- Затем установите его и запустите HWiNFO64.
- Появится крошечное окно, подобное приведенному выше. Просто нажмите кнопку «Run».
- Когда HWiNFO64 открыт, загляните в раздел ЦП.
- Если AVX зеленый, это означает, что ваш процессор поддерживает его.
Pirat13666 написал:
Учитывая оптимизацию имеются плохие предчувствия по внедрению инструкций AVX2.
Если проц столь стар, что у него нет авх инструкций, то не факт что ты нормально поиграешь
- пожаловаться
- скопировать ссылку
TopPCGamer
Вот как раз такие AVX есть, только 2 нет. Если брать опыт с Uncharted, то после патча с отменой AVX2 производительность была на достаточно высоком уровне. Правда сама игра не зашла, ну на любителя прыгать-ползать.
- пожаловаться
- скопировать ссылку
Pirat13666
Прежде чем создавать дурацкие темы, мог бы сначала погуглить, системные требования ещё не объявлены!
- пожаловаться
- скопировать ссылку
Pavel Rally
Темы очень актуальные и нисколько не дурацкие. Я в соседней теме пример привел, в котором доказал, что системные требования по части процессора еще ничего не значат. Они лишь направлены на представления о его приблизительной мощности для комфортной игры, либо для получения минимального FPS.
- пожаловаться
- скопировать ссылку
пусть разрабы все инструкции процов добавляют))))))чем больше тем лучше)))))и желательно еще вчера, а то уже достали вечным негодованием к этой бедняжке AVX, завтра пихнут AVX 512
- пожаловаться
- скопировать ссылку
С оптимизацией в игре будут траблы,c с такими минималками и рекомендованными,пусть разрабы лесом и кочками погуляют
Минимальные (720p в 30 к/с)
ОС: Windows 10 64-бит
Процессор: AMD Ryzen 5 1600 или Intel Core i7-3770
Видеокарта: AMD Radeon RX 5500 XT (8 ГБ) или NVIDIA GTX 1060 (6 ГБ)
Оперативная память: 16 ГБ
Жесткий диск: 150 ГБ
Рекомендованные (1440p в 30 к/с)
ОС: Windows 10 64-бит
Процессор: AMD Ryzen 5 3600 или Intel Core i7-8700К
Видеокарта: AMD Radeon RX 6700 XT (12 ГБ) или NVIDIA RTX 3070 (8 ГБ)
Оперативная память: 24 ГБ
SSD: 150 ГБ
- пожаловаться
- скопировать ссылку
Tristall_Marauder
В требованиях лоу-энд железо указано, что не так?
- пожаловаться
- скопировать ссылку
Всем привет поставил 8 гиг оперативки теперь стало 20 в сумме. Теперь требует avx в процессоре. Слышал его как то можно семулировать чтоб не тратится на новый комп.Что посоветуйте?У меня i7 980 extreme процессор и 20 гиг оперативки и ссд
- пожаловаться
- скопировать ссылку
Neogenis
Даже если как-то и получится «сэмулировать» и игра запустится, играть ты все равно не будешь из-за больших лагов и тормозов.
- пожаловаться
- скопировать ссылку
А как хотя бы сэмулировать?Хотелось бы потестить)
- пожаловаться
- скопировать ссылку
- пожаловаться
- скопировать ссылку
Не работает пишет для игры надо более 16 гиг я под стулом!Для минималок!!!!У меня 12.
- пожаловаться
- скопировать ссылку
Neogenis
Файл подкачки поднять никак?
- пожаловаться
- скопировать ссылку
Neogenis
Ну так судя по тестам и обзорам там без 16Gb делать нечего.
- пожаловаться
- скопировать ссылку
Pirat13666
У меня rx6800xt загибается там — 40фпс, пришлось FSR 2 использовать, может выпустят потом патч для «слабых» системников
- пожаловаться
- скопировать ссылку
DEDGAMER
Может и выпустят, а может и нет. Здесь все зависит от совести разработчиков, а учитывая их скрытую политику вряд ли. (
Я обманным путем через VPN качаю демку, скорость постоянно скачет, но так хочется опробовать самому.
Если не забанят Steam посмотрю что там да как там.
О полной пока и не мечтаю учитывая блок в моем регионе. Сегодня пробовал обманкой из США выйти, не получилось. У них все схвачено.(((
- пожаловаться
- скопировать ссылку
Pirat13666
Блин только что узнал что надо для 30фпс 24гига))И Rtx 3070.Они издеваются или такая кривая оптимизация.Вообщем буду брать на РS 5 игру.Да дороже но хоть поиграть получится Недавно купил приставку)
- пожаловаться
- скопировать ссылку
Даже моя старая платформа тянет игру без проблем, вообще в 2022-м сидеть на процах без поддержки авх2 и хныкать это верх тупизма
- пожаловаться
- скопировать ссылку
Палыч Роков
I7 2600K прекрасно потянул Forspoken.
- пожаловаться
- скопировать ссылку
с жуткими тормозами небось
- пожаловаться
- скопировать ссылку
Все нормально, если трассировку не включать. Играется вполне себе комфортно. Наиграл уже почти 50 часов.
- пожаловаться
- скопировать ссылку
Тут трассировка криво сделана и почему-то грузит сильнее проц, так не должно быть. Сама игра несмотря на хейт мне зашла, прикольная штука. Пока только 3ч наиграл) Надо разобраться с кастомизацией персонажа. Ты сюжет за сколько прошёл?
- пожаловаться
- скопировать ссылку
Я за временем не наблюдал, скажу только одно. До танты Сайлы идти далеко и долго, а дальше как по маслу все. Мне очень спецэффекты понравились, такого обилия не видел не в одной игре. Особенно ульты.
- пожаловаться
- скопировать ссылку
Некоторые из высокобюджетных (AAA) игр, выпущенных в наши дни, требуют процессора, совместимого с AVX (Advanced Vector Extensions), для запуска на вашем ПК. Например, Death Stranding, Yakuza 3 Remastered, Age of Empires IV, Dying Light 2 и т. д.…
Если ваш процессор не поддерживает AVX, при попытке запустить игру, для которой требуется AVX, игра не запустится, и вы увидите сообщение об ошибке, подобное приведенному ниже.
«Ваш процессор должен поддерживать инструкции AVX для запуска этой игры».
«Обнаружено неподдерживаемое оборудование. Для запуска этой игры требуется процессор, поддерживающий набор инструкций AVX».
«Фатальная ошибка. Ошибка запуска приложения. Пожалуйста, проверьте системные требования. (AVX)».
«Минимальные требования не выполнены. Предупреждение. Ваша система не соответствует минимальным требованиям. Для получения оптимальной производительности обратитесь к списку поддерживаемого оборудования. Требуются следующие наборы инструкций ЦП: AVX».
Примечание. Игра может вылететь даже без каких-либо сообщений об ошибках.
Перед покупкой игры с требованиями AVX целесообразно проверить, поддерживает ли ее ваш процессор.
Вы можете использовать бесплатное программное обеспечение, чтобы проверить это. Вы можете установить его, выполнив следующие действия. Затем используйте его, чтобы убедиться, что ваш процессор поддерживает AVX.
- Перейдите на https://www.fosshub.com/HWiNFO.html.
- Чтобы загрузить программное обеспечение, нажмите «HWiNFO Installer».
- Затем установите его и запустите HWiNFO64.
- Появится крошечное окно, подобное приведенному выше. Просто нажмите кнопку «Run».
- Когда HWiNFO64 открыт, загляните в раздел ЦП.
- Если AVX зеленый, это означает, что ваш процессор поддерживает его.
Аббревиатура AVX расшифровывается как Advanced Vector Extensions. Это наборы инструкций для процессоров Intel и AMD, идея создания которых появилась в марте 2008 года. Впервые такой набор был встроен в процессоры линейки Intel Haswell в 2013 году. Поддержка команд в Pentium и Celeron появилась лишь в 2020 году.
Прочитав эту статью, вы более подробно узнаете, что такое инструкции AVX и AVX2 для процессоров, а также — как узнать поддерживает ли процессор AVX.
AVX и AVX2 – что это такое
AVX/AVX2 — это улучшенные версии старых наборов команд SSE. Advanced Vector Extensions расширяют операционные пакеты со 128 до 512 бит, а также добавляют новые инструкции. Например, за один такт процессора без инструкций AVX будет сложена 1 пара чисел, а с ними — 10. Эти наборы расширяют спектр используемых чисел для оптимизации подсчёта данных.
Наличие у процессоров поддержки AVX весьма желательно. Эти инструкции предназначены, прежде всего, для выполнения сложных профессиональных операций. Без поддержки AVX всё-таки можно запускать большинство игр, редактировать фото, смотреть видео, общаться в интернете и др., хотя и не так комфортно.
Далее будут показаны несколько простых способов узнать это. Некоторые из методов потребуют установки специального ПО.
1. Таблица сравнения процессоров на сайте Chaynikam.info.
Для того чтобы узнать, поддерживает ли ваш процессор инструкции AVX, можно воспользоваться предлагаемым способом. Перейдите на этот сайт. В правом верхнем углу страницы расположена зелёная кнопка Добавить процессор. Нажмите её.
В открывшемся окне вам будет предложено указать параметры выбора нужного процессора. Все указывать не обязательно.
В результате выполнения поиска будет сформирована таблица с параметрами выбранного из списка процессора. Прокрутите таблицу вниз. В строке Поддержка инструкций и технологий будет показана подробная информация.
2. Утилита CPU-Z.
Один из самых простых и надёжных способов узнать поддерживает ли процессор AVX инструкции, использовать утилиту для просмотра информации о процессоре — CPU-Z. Скачать утилиту можно на официальном сайте. После завершения установки ярлык для запуска утилиты появится на рабочем столе. Запустите её.
В строке Instructions показаны все инструкции и другие технологии, поддерживаемые вашим процессором.
3. Поиск на сайте производителя.
Ещё один способ узнать, есть ли AVX на процессоре, воспользоваться официальным сайтом производителя процессоров. В строке поиска браузера наберите название процессора и выполните поиск. Если у вас процессор Intel, выберите соответствующую страницу в списке и перейдите на неё. На этой странице вам будет предоставлена подробная информация о процессоре.
Если у вас процессор от компании AMD, то лучше всего будет воспользоваться сайтом AMD. Выберите пункт меню Процессоры, далее — пункт Характеристики изделия и затем, выбрав тип (например, Потребительские процессоры), выполните переход на страницу Спецификации процессоров. На этой странице выполните поиск вашего процессора по названию и посмотрите подробную информацию о нём.
Выводы
В этой статье мы довольно подробно рассказали о поддержке процессорами инструкций AVX, AVX2, а также показали несколько способов, позволяющих выяснить наличие такой поддержки конкретно вашим процессором. Надеемся, что дополнительная информация об используемом процессоре будет полезна для вас, а также поможет в выборе процессора в будущем.
Была ли эта статья полезной?
ДаНет
Оцените статью:
(7 оценок, среднее: 5,00 из 5)
Загрузка…
Об авторе
Над статьей работал не только её автор, но и другие люди из команды te4h, администратор (admin), редакторы или другие авторы. Ещё к этому автору могут попадать статьи, авторы которых написали мало статей и для них не было смысла создавать отдельные аккаунты.
The software doesn’t want to install it says (see the picture below).
I have a powerful machine (Core i7, 8GB RAM SSD etc).
However it’s and old one though so probably those new instruction sets are not supported.
What are my options? Is there any way to kind of emulate those IS?
Additional info:
asked Jan 5, 2017 at 8:38
Над статьей работал не только её автор, но и другие люди из команды te4h, администратор (admin), редакторы или другие авторы. Ещё к этому автору могут попадать статьи, авторы которых написали мало статей и для них не было смысла создавать отдельные аккаунты.
The software doesn’t want to install it says (see the picture below).
I have a powerful machine (Core i7, 8GB RAM SSD etc).
However it’s and old one though so probably those new instruction sets are not supported.
What are my options? Is there any way to kind of emulate those IS?
Additional info:
asked Jan 5, 2017 at 8:38
bakytnbakytn
1,6894 gold badges30 silver badges55 bronze badges
7
You could try running it in the Intel Software Development Emulator, which can catch and dynamically translate attempts to perform AVX instructions (among many other extensions to the X86 architecture).
It may not work; if it does, it’ll be slower and perhaps more unreliable than it should be. But it’s worth a shot. Note that if the software checks CPUID, it may be necessary to use specific emulator flags.
It’s unlikely to work if the software installs a driver because these are not part of the emulated process.
answered Sep 12, 2018 at 9:37
- Partition Wizard
- Partition Magic
- Your CPU Support Instructions This TensorFlow Not Use AVX [Fixed]
By Ariel | Follow |
Last Updated April 22, 2022
Have you come across the “Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA” error? If you are still troubled by it, then this post of MiniTool is what you need.
A lot of users receive the “Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2” error message when trying to install or run TensorFlow. Here is a true example from the GitHub forum:
Hi, I followed the instructions in Wide & Deep and run the test successfully, but saw the below messages: I TensorFlow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA.https://github.com/IntelAI/models/issues/48
What Does the AVX Mean?
To figure out the “your CPU supports instructions that this TensorFlow” error, it’s necessary to know what is AVX. AVX is the short name for Advanced Vector Extensions (also known as Sandy Bridge New Extensions) that are extensions to the x86 instruction set architecture for microprocessors from Intel and AMD. It provides many new features, new instructions, and a new coding scheme.
AVX2, known as Haswell New Instructions expands most integer commands to 256 bits and releases new instructions. It was first supported by Intel with the Haswell processors. When the AVX introduced the FMA, it uses the floating-point multiply-add operation that is done in a single step, speeding up many operations.
Moreover, AVX helps the algebra computation run faster and be easier to use. The CPUs that support the AVX and FMA could be faster than the older CPUs. However, if your CPU doesn’t support AVX, you may receive this warning message.
What Causes the “Your CPU Support Instructions That This TensorFlow” Error
If you encounter the “your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA” error, it indicates that the shared library of TensorFlow doesn’t include the type of instructions that your CPU can use. This is because, after TensorFlow 1.6, the binaries use AVX instructions that may not run on older CPUs.
The older CPUs cannot run the AVX instructions, while on the newer CPUs, you need to build the TensorFlow from source to the CPU. Why the AVX cannot be used by default? This is because the TensorFlow default distribution is built without the CPU extensions, which triggers the issue.
How to Fix the “Your CPU Support Instructions That This TensorFlow” Error
How to fix the “your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2” issue? In fact, the warning message was sent to inform you about the built TensorFlow from the source.
If you have a GPU installed on your computer, you can ignore these warning messages from the AVX support. Well, if you don’t want to see this error message anymore, you can disable it by adding the following text. Here you need to import the OS module in your main program code and set the mapping object for it.
import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL’] = ‘2’
If you are on a Unix, you can use the following export command in the bash shell.
export TF_CPP_MIN_LOG_LEVEL=2
If you don’t have GPU and you still want to use your CPU as much as possible, you need to build TensorFlow from the source optimize for your CPU with AVX, AVX2, and FMA enabled.
About The Author
Position: Columnist
Ariel is an enthusiastic IT columnist focusing on partition management, data recovery, and Windows issues. She has helped users fix various problems like PS4 corrupted disk, unexpected store exception error, the green screen of death error, etc. If you are searching for methods to optimize your storage device and restore lost data from different storage devices, then Ariel can provide reliable solutions for these issues.
- Partition Wizard
- Partition Magic
- Your CPU Support Instructions This TensorFlow Not Use AVX [Fixed]
By Ariel | Follow |
Last Updated April 22, 2022
Have you come across the “Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA” error? If you are still troubled by it, then this post of MiniTool is what you need.
A lot of users receive the “Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2” error message when trying to install or run TensorFlow. Here is a true example from the GitHub forum:
Hi, I followed the instructions in Wide & Deep and run the test successfully, but saw the below messages: I TensorFlow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA.https://github.com/IntelAI/models/issues/48
What Does the AVX Mean?
To figure out the “your CPU supports instructions that this TensorFlow” error, it’s necessary to know what is AVX. AVX is the short name for Advanced Vector Extensions (also known as Sandy Bridge New Extensions) that are extensions to the x86 instruction set architecture for microprocessors from Intel and AMD. It provides many new features, new instructions, and a new coding scheme.
AVX2, known as Haswell New Instructions expands most integer commands to 256 bits and releases new instructions. It was first supported by Intel with the Haswell processors. When the AVX introduced the FMA, it uses the floating-point multiply-add operation that is done in a single step, speeding up many operations.
Moreover, AVX helps the algebra computation run faster and be easier to use. The CPUs that support the AVX and FMA could be faster than the older CPUs. However, if your CPU doesn’t support AVX, you may receive this warning message.
What Causes the “Your CPU Support Instructions That This TensorFlow” Error
If you encounter the “your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA” error, it indicates that the shared library of TensorFlow doesn’t include the type of instructions that your CPU can use. This is because, after TensorFlow 1.6, the binaries use AVX instructions that may not run on older CPUs.
The older CPUs cannot run the AVX instructions, while on the newer CPUs, you need to build the TensorFlow from source to the CPU. Why the AVX cannot be used by default? This is because the TensorFlow default distribution is built without the CPU extensions, which triggers the issue.
How to Fix the “Your CPU Support Instructions That This TensorFlow” Error
How to fix the “your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2” issue? In fact, the warning message was sent to inform you about the built TensorFlow from the source.
If you have a GPU installed on your computer, you can ignore these warning messages from the AVX support. Well, if you don’t want to see this error message anymore, you can disable it by adding the following text. Here you need to import the OS module in your main program code and set the mapping object for it.
import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL’] = ‘2’
If you are on a Unix, you can use the following export command in the bash shell.
export TF_CPP_MIN_LOG_LEVEL=2
If you don’t have GPU and you still want to use your CPU as much as possible, you need to build TensorFlow from the source optimize for your CPU with AVX, AVX2, and FMA enabled.
About The Author
Position: Columnist
Ariel is an enthusiastic IT columnist focusing on partition management, data recovery, and Windows issues. She has helped users fix various problems like PS4 corrupted disk, unexpected store exception error, the green screen of death error, etc. If you are searching for methods to optimize your storage device and restore lost data from different storage devices, then Ariel can provide reliable solutions for these issues.
Аббревиатура AVX расшифровывается как Advanced Vector Extensions. Это наборы инструкций для процессоров Intel и AMD, идея создания которых появилась в марте 2008 года. Впервые такой набор был встроен в процессоры линейки Intel Haswell в 2013 году. Поддержка команд в Pentium и Celeron появилась лишь в 2020 году.
Прочитав эту статью, вы более подробно узнаете, что такое инструкции AVX и AVX2 для процессоров, а также — как узнать поддерживает ли процессор AVX.
AVX и AVX2 – что это такое
AVX/AVX2 — это улучшенные версии старых наборов команд SSE. Advanced Vector Extensions расширяют операционные пакеты со 128 до 512 бит, а также добавляют новые инструкции. Например, за один такт процессора без инструкций AVX будет сложена 1 пара чисел, а с ними — 10. Эти наборы расширяют спектр используемых чисел для оптимизации подсчёта данных.
Наличие у процессоров поддержки AVX весьма желательно. Эти инструкции предназначены, прежде всего, для выполнения сложных профессиональных операций. Без поддержки AVX всё-таки можно запускать большинство игр, редактировать фото, смотреть видео, общаться в интернете и др., хотя и не так комфортно.
Далее будут показаны несколько простых способов узнать это. Некоторые из методов потребуют установки специального ПО.
1. Таблица сравнения процессоров на сайте Chaynikam.info.
Для того чтобы узнать, поддерживает ли ваш процессор инструкции AVX, можно воспользоваться предлагаемым способом. Перейдите на этот сайт. В правом верхнем углу страницы расположена зелёная кнопка Добавить процессор. Нажмите её.
В открывшемся окне вам будет предложено указать параметры выбора нужного процессора. Все указывать не обязательно.
В результате выполнения поиска будет сформирована таблица с параметрами выбранного из списка процессора. Прокрутите таблицу вниз. В строке Поддержка инструкций и технологий будет показана подробная информация.
2. Утилита CPU-Z.
Один из самых простых и надёжных способов узнать поддерживает ли процессор AVX инструкции, использовать утилиту для просмотра информации о процессоре — CPU-Z. Скачать утилиту можно на официальном сайте. После завершения установки ярлык для запуска утилиты появится на рабочем столе. Запустите её.
В строке Instructions показаны все инструкции и другие технологии, поддерживаемые вашим процессором.
3. Поиск на сайте производителя.
Ещё один способ узнать, есть ли AVX на процессоре, воспользоваться официальным сайтом производителя процессоров. В строке поиска браузера наберите название процессора и выполните поиск. Если у вас процессор Intel, выберите соответствующую страницу в списке и перейдите на неё. На этой странице вам будет предоставлена подробная информация о процессоре.
Если у вас процессор от компании AMD, то лучше всего будет воспользоваться сайтом AMD. Выберите пункт меню Процессоры, далее — пункт Характеристики изделия и затем, выбрав тип (например, Потребительские процессоры), выполните переход на страницу Спецификации процессоров. На этой странице выполните поиск вашего процессора по названию и посмотрите подробную информацию о нём.
Выводы
В этой статье мы довольно подробно рассказали о поддержке процессорами инструкций AVX, AVX2, а также показали несколько способов, позволяющих выяснить наличие такой поддержки конкретно вашим процессором. Надеемся, что дополнительная информация об используемом процессоре будет полезна для вас, а также поможет в выборе процессора в будущем.
Была ли эта статья полезной?
ДаНет
Оцените статью:
(7 оценок, среднее: 5,00 из 5)
Загрузка…
Об авторе
Над статьей работал не только её автор, но и другие люди из команды te4h, администратор (admin), редакторы или другие авторы. Ещё к этому автору могут попадать статьи, авторы которых написали мало статей и для них не было смысла создавать отдельные аккаунты.
Некоторые из высокобюджетных (AAA) игр, выпущенных в наши дни, требуют процессора, совместимого с AVX (Advanced Vector Extensions), для запуска на вашем ПК. Например, Death Stranding, Yakuza 3 Remastered, Age of Empires IV, Dying Light 2 и т. д.…
Если ваш процессор не поддерживает AVX, при попытке запустить игру, для которой требуется AVX, игра не запустится, и вы увидите сообщение об ошибке, подобное приведенному ниже.
«Ваш процессор должен поддерживать инструкции AVX для запуска этой игры».
«Обнаружено неподдерживаемое оборудование. Для запуска этой игры требуется процессор, поддерживающий набор инструкций AVX».
«Фатальная ошибка. Ошибка запуска приложения. Пожалуйста, проверьте системные требования. (AVX)».
«Минимальные требования не выполнены. Предупреждение. Ваша система не соответствует минимальным требованиям. Для получения оптимальной производительности обратитесь к списку поддерживаемого оборудования. Требуются следующие наборы инструкций ЦП: AVX».
Примечание. Игра может вылететь даже без каких-либо сообщений об ошибках.
Перед покупкой игры с требованиями AVX целесообразно проверить, поддерживает ли ее ваш процессор.
Вы можете использовать бесплатное программное обеспечение, чтобы проверить это. Вы можете установить его, выполнив следующие действия. Затем используйте его, чтобы убедиться, что ваш процессор поддерживает AVX.
- Перейдите на https://www.fosshub.com/HWiNFO.html.
- Чтобы загрузить программное обеспечение, нажмите «HWiNFO Installer».
- Затем установите его и запустите HWiNFO64.
- Появится крошечное окно, подобное приведенному выше. Просто нажмите кнопку «Run».
- Когда HWiNFO64 открыт, загляните в раздел ЦП.
- Если AVX зеленый, это означает, что ваш процессор поддерживает его.
- Partition Wizard
- Partition Magic
- Your CPU Support Instructions This TensorFlow Not Use AVX [Fixed]
By Ariel | Follow |
Last Updated April 22, 2022
Have you come across the “Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA” error? If you are still troubled by it, then this post of MiniTool is what you need.
A lot of users receive the “Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2” error message when trying to install or run TensorFlow. Here is a true example from the GitHub forum:
Hi, I followed the instructions in Wide & Deep and run the test successfully, but saw the below messages: I TensorFlow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA.https://github.com/IntelAI/models/issues/48
Над статьей работал не только её автор, но и другие люди из команды te4h, администратор (admin), редакторы или другие авторы. Ещё к этому автору могут попадать статьи, авторы которых написали мало статей и для них не было смысла создавать отдельные аккаунты.
Некоторые из высокобюджетных (AAA) игр, выпущенных в наши дни, требуют процессора, совместимого с AVX (Advanced Vector Extensions), для запуска на вашем ПК. Например, Death Stranding, Yakuza 3 Remastered, Age of Empires IV, Dying Light 2 и т. д.…
Если ваш процессор не поддерживает AVX, при попытке запустить игру, для которой требуется AVX, игра не запустится, и вы увидите сообщение об ошибке, подобное приведенному ниже.
«Ваш процессор должен поддерживать инструкции AVX для запуска этой игры».
«Обнаружено неподдерживаемое оборудование. Для запуска этой игры требуется процессор, поддерживающий набор инструкций AVX».
«Фатальная ошибка. Ошибка запуска приложения. Пожалуйста, проверьте системные требования. (AVX)».
«Минимальные требования не выполнены. Предупреждение. Ваша система не соответствует минимальным требованиям. Для получения оптимальной производительности обратитесь к списку поддерживаемого оборудования. Требуются следующие наборы инструкций ЦП: AVX».
Примечание. Игра может вылететь даже без каких-либо сообщений об ошибках.
Перед покупкой игры с требованиями AVX целесообразно проверить, поддерживает ли ее ваш процессор.
Вы можете использовать бесплатное программное обеспечение, чтобы проверить это. Вы можете установить его, выполнив следующие действия. Затем используйте его, чтобы убедиться, что ваш процессор поддерживает AVX.
- Перейдите на https://www.fosshub.com/HWiNFO.html.
- Чтобы загрузить программное обеспечение, нажмите «HWiNFO Installer».
- Затем установите его и запустите HWiNFO64.
- Появится крошечное окно, подобное приведенному выше. Просто нажмите кнопку «Run».
- Когда HWiNFO64 открыт, загляните в раздел ЦП.
- Если AVX зеленый, это означает, что ваш процессор поддерживает его.
- Partition Wizard
- Partition Magic
- Your CPU Support Instructions This TensorFlow Not Use AVX [Fixed]
By Ariel | Follow |
Last Updated April 22, 2022
Have you come across the “Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA” error? If you are still troubled by it, then this post of MiniTool is what you need.
A lot of users receive the “Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2” error message when trying to install or run TensorFlow. Here is a true example from the GitHub forum:
Hi, I followed the instructions in Wide & Deep and run the test successfully, but saw the below messages: I TensorFlow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA.https://github.com/IntelAI/models/issues/48
What Does the AVX Mean?
To figure out the “your CPU supports instructions that this TensorFlow” error, it’s necessary to know what is AVX. AVX is the short name for Advanced Vector Extensions (also known as Sandy Bridge New Extensions) that are extensions to the x86 instruction set architecture for microprocessors from Intel and AMD. It provides many new features, new instructions, and a new coding scheme.
AVX2, known as Haswell New Instructions expands most integer commands to 256 bits and releases new instructions. It was first supported by Intel with the Haswell processors. When the AVX introduced the FMA, it uses the floating-point multiply-add operation that is done in a single step, speeding up many operations.
Moreover, AVX helps the algebra computation run faster and be easier to use. The CPUs that support the AVX and FMA could be faster than the older CPUs. However, if your CPU doesn’t support AVX, you may receive this warning message.
What Causes the “Your CPU Support Instructions That This TensorFlow” Error
If you encounter the “your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA” error, it indicates that the shared library of TensorFlow doesn’t include the type of instructions that your CPU can use. This is because, after TensorFlow 1.6, the binaries use AVX instructions that may not run on older CPUs.
The older CPUs cannot run the AVX instructions, while on the newer CPUs, you need to build the TensorFlow from source to the CPU. Why the AVX cannot be used by default? This is because the TensorFlow default distribution is built without the CPU extensions, which triggers the issue.
How to Fix the “Your CPU Support Instructions That This TensorFlow” Error
How to fix the “your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2” issue? In fact, the warning message was sent to inform you about the built TensorFlow from the source.
If you have a GPU installed on your computer, you can ignore these warning messages from the AVX support. Well, if you don’t want to see this error message anymore, you can disable it by adding the following text. Here you need to import the OS module in your main program code and set the mapping object for it.
import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL’] = ‘2’
If you are on a Unix, you can use the following export command in the bash shell.
export TF_CPP_MIN_LOG_LEVEL=2
If you don’t have GPU and you still want to use your CPU as much as possible, you need to build TensorFlow from the source optimize for your CPU with AVX, AVX2, and FMA enabled.
About The Author
Position: Columnist
Ariel is an enthusiastic IT columnist focusing on partition management, data recovery, and Windows issues. She has helped users fix various problems like PS4 corrupted disk, unexpected store exception error, the green screen of death error, etc. If you are searching for methods to optimize your storage device and restore lost data from different storage devices, then Ariel can provide reliable solutions for these issues.
- Partition Wizard
- Partition Magic
- Your CPU Support Instructions This TensorFlow Not Use AVX [Fixed]
By Ariel | Follow |
Last Updated April 22, 2022
Have you come across the “Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA” error? If you are still troubled by it, then this post of MiniTool is what you need.
A lot of users receive the “Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2” error message when trying to install or run TensorFlow. Here is a true example from the GitHub forum:
Hi, I followed the instructions in Wide & Deep and run the test successfully, but saw the below messages: I TensorFlow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA.https://github.com/IntelAI/models/issues/48
What Does the AVX Mean?
To figure out the “your CPU supports instructions that this TensorFlow” error, it’s necessary to know what is AVX. AVX is the short name for Advanced Vector Extensions (also known as Sandy Bridge New Extensions) that are extensions to the x86 instruction set architecture for microprocessors from Intel and AMD. It provides many new features, new instructions, and a new coding scheme.
AVX2, known as Haswell New Instructions expands most integer commands to 256 bits and releases new instructions. It was first supported by Intel with the Haswell processors. When the AVX introduced the FMA, it uses the floating-point multiply-add operation that is done in a single step, speeding up many operations.
Moreover, AVX helps the algebra computation run faster and be easier to use. The CPUs that support the AVX and FMA could be faster than the older CPUs. However, if your CPU doesn’t support AVX, you may receive this warning message.
What Causes the “Your CPU Support Instructions That This TensorFlow” Error
If you encounter the “your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA” error, it indicates that the shared library of TensorFlow doesn’t include the type of instructions that your CPU can use. This is because, after TensorFlow 1.6, the binaries use AVX instructions that may not run on older CPUs.
The older CPUs cannot run the AVX instructions, while on the newer CPUs, you need to build the TensorFlow from source to the CPU. Why the AVX cannot be used by default? This is because the TensorFlow default distribution is built without the CPU extensions, which triggers the issue.
How to Fix the “Your CPU Support Instructions That This TensorFlow” Error
How to fix the “your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2” issue? In fact, the warning message was sent to inform you about the built TensorFlow from the source.
If you have a GPU installed on your computer, you can ignore these warning messages from the AVX support. Well, if you don’t want to see this error message anymore, you can disable it by adding the following text. Here you need to import the OS module in your main program code and set the mapping object for it.
import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL’] = ‘2’
If you are on a Unix, you can use the following export command in the bash shell.
export TF_CPP_MIN_LOG_LEVEL=2
If you don’t have GPU and you still want to use your CPU as much as possible, you need to build TensorFlow from the source optimize for your CPU with AVX, AVX2, and FMA enabled.
About The Author
Position: Columnist
Ariel is an enthusiastic IT columnist focusing on partition management, data recovery, and Windows issues. She has helped users fix various problems like PS4 corrupted disk, unexpected store exception error, the green screen of death error, etc. If you are searching for methods to optimize your storage device and restore lost data from different storage devices, then Ariel can provide reliable solutions for these issues.
The software doesn’t want to install it says (see the picture below).
I have a powerful machine (Core i7, 8GB RAM SSD etc).
However it’s and old one though so probably those new instruction sets are not supported.
What are my options? Is there any way to kind of emulate those IS?
Additional info:
asked Jan 5, 2017 at 8:38
bakytnbakytn
1,6894 gold badges30 silver badges55 bronze badges
7
You could try running it in the Intel Software Development Emulator, which can catch and dynamically translate attempts to perform AVX instructions (among many other extensions to the X86 architecture).
It may not work; if it does, it’ll be slower and perhaps more unreliable than it should be. But it’s worth a shot. Note that if the software checks CPUID, it may be necessary to use specific emulator flags.
It’s unlikely to work if the software installs a driver because these are not part of the emulated process.
answered Sep 12, 2018 at 9:37
Приветствую ребята))
Коротко ответ: запуск игры на процессоре без поддержки 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 год.
Надеюсь данная информация оказалась полезной. Удачи и добра, до новых встреч друзья!
На главную!
01.04.2021
Xenia Master FAQ | Xenia Canary FAQ
Table of Contents
- How do I use Xenia?
- What are Xenia’s system requirements?
- How do I improve performance?
- Why do I get an error saying «Your CPU does not support AVX»?
- Does Xenia support OpenGL/Direct3D11?
- How do I fix the VCRUNTIME error?
- Why is the audio delayed?
- How do I fix «Graphics device lost (probably due to an internal error»?
- Can you add support for Windows Me? How about my Pentium II?
- Does Xenia run on Linux or macOS?
- How do I dump games?
- Can I dump games using an Xbox One/Series or run them directly from the disc?
- Why is my game in trial/demo mode?
- How do I use xenia-vfs-dump?
- Does game X run?
- Saves
- Why aren’t saves working? (Storage device not found/full/not detected, etc)
- Where are saves stored?
- Input
- Can Xenia play games online with Xbox Live?
- How do I check my FPS?
- What is ROV?
- What are Xenia’s options?
- What’s the difference between Gameplay and Playable?
- Can Xenia run original Xbox games?
- I have a copy of the XDK. Do you want it?
- Build tweaks
- 4:3
- Hacks/mods
How do I use Xenia?
Refer to the Quickstart page.
What are Xenia’s system requirements?
Refer to the Quickstart page.
How do I improve performance?
Upgrade your PC or wait for optimizations.
Why do I get an error saying «Your CPU does not support AVX»?
Your CPU doesn’t meet the minimum requirements. (see above)
Does Xenia support OpenGL/Direct3D11?
No. (see system requirements above)
How do I fix the VCRUNTIME error?
Refer to the Quickstart page.
Why is the audio delayed?
Audio is one of the least worked on things in Xenia. There is no fix.
How do I fix «Graphics device lost (probably due to an internal error»?
You can’t.
Can you add support for Windows Me? How about my Pentium II?
Support for older operating systems and processors will not be added unless a
contributor steps up to build and maintain them. All active contributors are on
modern systems and busy with higher priority tasks. Whether the emulator runs on
Windows Vista or not doesn’t matter if it can’t run games.
Does Xenia run on Linux or macOS?
Not natively, but Xenia may run with Wine on Linux using Vulkan.*
- D3D12 will only work on Windows 10+ due to vkd3d not being supported.
macOS is not compatible due to requiring MoltenVK/Metal support which isn’t implemented in Xenia.
How do I dump games?
See the guide in Quickstart.
Can I dump games using an Xbox One/Series or run them directly from the disc?
No, and no.
Why is my game in trial/demo mode?
See this option.
How do I use xenia-vfs-dump?
xenia-vfs-dump is a command-line tool use for dumping content from STFS and SVOD containers.
You can download it from here.
Usage: xenia-vfs-dump [ContainerPath] [DestinationOutput]
Does game X run?
Check the compatibility list. If it’s not there, ask in the Discord #help channel or test it yourself.
Saves
Why aren’t saves working? (Storage device not found/full/not detected, etc)
Saves are broken in some games in Xenia, especially ones with user profile saves.
As for saves, etc that worked previously in older builds of Xenia, create a text file in the same directory as xenia.exe named portable.txt
.
Where are saves stored?
Saves are in Documentsxeniacontent
by default.
If a portable.txt
file is in the same directory as xenia.exe the content
folder will be in the same directory as xenia.exe.
Input
Xenia only supports XInput controllers by default, which includes but is not limited to Xbox 360, and Xbox One controllers.
For non-XInput controllers, SDL must be used.
Default keyboard layout (click to preview)
Xenia does not support mice, accessories like the Kinect, uDraw GameTablet, or microphones.
Can Xenia play games online with Xbox Live?
Xenia may connect to custom servers in the far future, but it will never connect to official Xbox Live servers.
Xenia does not support System Link either.
How do I check my FPS?
With an FPS indicator like Rivatuner.
What is ROV?
See ROV.
What are Xenia’s options?
See the Options page.
What’s the difference between Gameplay and Playable?
Gameplay means the game reaches gameplay, even if the game is unplayable.
Can Xenia run original Xbox games?
Xenia does not support backwards compatibility, and therefore, cannot run original Xbox games.
For that there’s Cxbx-Reloaded and xqemu.
I have a copy of the XDK. Do you want it?
No. Do not post links or downloads to such resources or you will be banned.
Build tweaks
4:3
To play games in 4:3 you need to build Xenia with video_mode->is_widescreen = 0
instead of 1 here.
Refer to building.md on GitHub
Hacks/mods
Refer to the Game hacks, mods, etc. page.
В мире компьютерных технологий нет ничего странного в обилии всевозможных аббревиатур: CPU, GPU, RAM, SSD, BIOS, CD-ROM, и многих других. И почти каждый день появляются всё новые и новые сокращения названий каких-то технологий, что является неизбежным следствием бесконечного стремления инженеров улучшить функции и возможности наших вычислительных устройств.
Сегодня речь пойдёт о таких расширениях набора команд процессоров, как MMX, SSE и AVX. Многим знакомы эти сокращения, и мы выясним, действительно ли это какие-то интересные разработки, или же это не более чем бессмысленные маркетинговые уловки.
Ну о-о-очень первые дни
Середина 80-х прошлого столетия. Рынок процессоров был очень похож на сегодняшний. Intel бесспорно преобладала, но столкнулась с жесткой конкуренцией со стороны AMD. Домашние компьютеры, такие как Commodore 64, использовали базовые 8-битные процессоры, тогда как настольные ПК начинали переходить с 16-битных на 32-битные чипы.
Эти числа означают размер значений данных, которые могут быть обработаны математически, при этом чем выше эти значения, тем выше точность и возможности. Они также определяет размер основных регистров в микросхеме: небольших участков памяти, используемых для хранения рабочих данных.
Такие процессоры являются также скалярными и целочисленными. Что это означает? Скаляр – это когда над одним элементом данных выполняется только одна любая математическая операция. Обычно это обозначается как SISD (single instruction, single data, «одиночный поток команд – одиночный поток данных»).
Таким образом, инструкция по сложению двух значений данных просто обрабатывается для этих двух чисел. А если вам, например, нужно прибавить одно и то же значение к группе из 16 чисел, то для этого потребуется выполнить все 16 наборов инструкций – для каждого числа из этой группы по отдельности. По-другому процессоры тех лет складывать ещё не умели.
Intel 80386DX с частотой 16МГц (1985).
Целое (Integer) – в математике, это такое число, которое не имеет дробной части. Например, 8 или -12. Процессоры типа интеловского 80386SX не имели врожденной способности сложить, скажем, 3.80 и 7.26 – такие дробные числа называются числами с плавающей точкой (или запятой, в русском языке это без разницы) – по-английски FP, floating point или просто floats. Чтобы справиться с ними, нужен был другой процессор, например 80387SX, и отдельный набор инструкций – список команд, который сообщает процессору, что делать.
В те времена под инструкциями x86 понимали наборы команд для целочисленных (integer) операций, а под инструкциями x87 – для чисел с плавающей точкой (float). В наши дни все операции умеет выполнять один процессор, поэтому мы используем термин x86 для обозначения набора инструкций обоих типов данных.
Использование отдельных сопроцессоров для обработки разных типов данных было нормой, пока Intel не представила 80486: их первый CPU для персоналок со встроенным математическим сопроцессором для обработки вещественных данных (FPU, Floating Point Unit).
Intel 80486: Жёлтым цветом выделен блок FPU для обработки чисел с плавающей точкой.
Как вы можете видеть, этот блок совсем немного занимает места в процессоре, но рывок в производительности, благодаря этому решению, был огромен.
Но в целом принцип работы оставался скалярным, и таким он перешел и к преемнику 486-го: оригинальному Intel Pentium.
И пройдёт ещё три года после релиза этого первого Пентиума, прежде чем Intel представит миру Pentium MMX. Это произошло в октябре 1996 года.
V – значит «векторный». А MMX что значит?
В мире математики числа можно группировать в наборы различных видов и размеров – одна такая упорядоченная совокупность называется арифметическим вектором. Проще всего представить его себе в виде списка значений, расположенных горизонтально или вертикально. Технология MMX привнесла в мир процессоров возможность выполнять векторные математические вычисления.
Однако она была изначально довольно ограниченной, поскольку оперировала только целыми числами и фактически эксплуатировала для своих целей регистры FPU. Поэтому программисты, желающие использовать какие-то инструкции MMX, вынуждены иметь в виду, что при выполнении таких инструкций любые вычисления с плавающей запятой не могут выполняться одновременно с ними.
Знаменитая реклама технологии Intel MMX (1997).
FPU Pentium имел 64-битные регистры, и в операциях MMX каждый из них мог вместить два 32-битных, четыре 16-битных или восемь 8-битных целых числа. Именно эти группы чисел и являются векторами, и каждая инструкция, предназначенная для них, будет выполняться сразу над всеми значениями в группе.
Такой принцип получил название SIMD (single instruction, multiple data, «одиночный поток команд, множественный поток данных») и знаменует собой большой шаг вперед в развитии возможностей процессоров для персональных компьютеров.
Ну а какие приложения выигрывают от использования такого принципа? Практически все, которым приходится выполнять одинаковые вычисления над группой однородных данных, и в первую очередь это некоторые функции в 3D-моделировании и мультимедийных технологиях, а также в системах обработки стандартных сигналов.
Например, MMX можно применить для ускорения умножения матриц при обработке вершин в 3D, или для смешивания видеопотоков при работе с хромакеем или альфа-композитингом.
Процессор AMD K6-2 – где-то там есть 3DNow!
К сожалению, внедрение MMX продвигалось довольно медленными темпами из-за негативного влияния этой технологии на производительность операций с плавающей точкой. AMD частично решила эту проблему, создав свою собственную версию под названием 3DNow! примерно через два года после появления MMX. Технология от AMD предлагала больше инструкций SIMD и умела обрабатывать числа с плавающей точкой, но также страдала от недостатка понимания программистами.
Ах, да! Как же официально расшифровывается аббревиатура MMX? Согласно Intel – никак!
Проще пареной SSE
Ситуация переломилась в лучшую сторону с приходом в 1999 году процессора Intel Pentium III. Он принёс с собой блестящую реализацию векторной функции под названием SSE (Streaming SIMD Extensions, «потоковые расширения SIMD»). На этот раз это был дополнительный набор из восьми 128-битных регистров, отдельных от регистров в FPU, и стек дополнительных инструкций для обработки чисел с плавающей точкой.
Использование независимых регистров означает, что больше нет такой сильной зависимости от FPU, хотя Pentium III не мог выполнять инструкции SSE одновременно с инструкциями FP. А также, новая функция поддерживает только один тип данных в регистрах: четыре 32-битных FP-числа.
Но переход к использованию FP-инструкций SIMD позволил значительно увеличить производительность в таких приложениях, как кодирование/декодирование видео, обработка изображений и звука, сжатие файлов и многих других.
Pentium IV: желтым цветом выделен блок регистров SSE2.
Усовершенствованная версия SSE2 появилась в 2001 году вместе с Pentium 4, и на этот раз поддержка типов данных была намного лучше: четыре 32-битных или два 64-битных FP-числа, а также шестнадцать 8-битных, восемь 16-битных, четыре 32-битных или два 64-битных целых числа. Регистры MMX остались в процессоре, но все операции MMX и SSE могли выполняться с использованием независимых 128-битных регистров SSE.
Модификация SSE3 появилась на свет в 2003 году, имея больше инструкций и возможность выполнять некоторые математические вычисления между значениями внутри одного регистра.
Ещё через 3 года мы познакомились с архитектурой Intel Core, принёсшей ещё одну ревизию технологии SIMD (SSSE3 – Supplemental SSE, «расширенные SSE»), и чуть позже в том же году – финальную версию, SSE4.
В 2007 году AMD применила собственную версию расширений CPU-инструкций SSE4 в своей архитектуре Barcelona. С названием в AMD париться не стали, и назвали свою версию просто SSE4a.
С линейкой Nehalem Core в 2008 году было выпущено незначительное обновление этой версии, которую Intel обозначила как SSE4.2 (а под SSE4.1 стали понимать исходную версию этого обновления). Обновления не затронули регистры, а лишь добавили больше инструкций в таблицу, расширив диапазон возможных математических и логических операций.
AMD, со своей стороны, сперва предложила новую версию SSE5, но позже решила разделить ее на три отдельных расширения, одно из которых довольно проблемное – подробнее об этом чуть позже.
К концу 2008 года и Intel, и AMD поставляли процессоры, которые уже могли обрабатывать все версии наборов инструкций от MMX до SSE4.2, и многие приложения (в основном игры) начали требовать этих функций для работы.
Время для новых букв
2008 год также был годом, когда Intel объявила о том, что они работают над значительным апгрейдом своей системы SIMD, и в 2011 году выкатила линейку процессоров Sandy Bridge с поддержкой набора инструкций AVX (Advanced Vector Extensions, «продвинутые векторные расширения»).
Всё удвоилось: вдвое больше векторных регистров и вдвое больше их размер.
Шестнадцать 256-битных регистров вмещают только восемь 32-битных или четыре 64-битных вещественных числа, поэтому в плане форматов данных, этот набор инструкций более ограничен в сравнении с SSE, но ведь и SSE никто не отменял. К тому времени программная поддержка векторных операций для CPU была уже хорошо отлажена, начиная с фундаментального мира компиляторов, заканчивая сложными приложениями.
Intel 80386DX с частотой 16МГц (1985).
Целое (Integer) – в математике, это такое число, которое не имеет дробной части. Например, 8 или -12. Процессоры типа интеловского 80386SX не имели врожденной способности сложить, скажем, 3.80 и 7.26 – такие дробные числа называются числами с плавающей точкой (или запятой, в русском языке это без разницы) – по-английски FP, floating point или просто floats. Чтобы справиться с ними, нужен был другой процессор, например 80387SX, и отдельный набор инструкций – список команд, который сообщает процессору, что делать.
В те времена под инструкциями x86 понимали наборы команд для целочисленных (integer) операций, а под инструкциями x87 – для чисел с плавающей точкой (float). В наши дни все операции умеет выполнять один процессор, поэтому мы используем термин x86 для обозначения набора инструкций обоих типов данных.
Использование отдельных сопроцессоров для обработки разных типов данных было нормой, пока Intel не представила 80486: их первый CPU для персоналок со встроенным математическим сопроцессором для обработки вещественных данных (FPU, Floating Point Unit).
Intel 80486: Жёлтым цветом выделен блок FPU для обработки чисел с плавающей точкой.
Как вы можете видеть, этот блок совсем немного занимает места в процессоре, но рывок в производительности, благодаря этому решению, был огромен.
Но в целом принцип работы оставался скалярным, и таким он перешел и к преемнику 486-го: оригинальному Intel Pentium.
И пройдёт ещё три года после релиза этого первого Пентиума, прежде чем Intel представит миру Pentium MMX. Это произошло в октябре 1996 года.
V – значит «векторный». А MMX что значит?
В мире математики числа можно группировать в наборы различных видов и размеров – одна такая упорядоченная совокупность называется арифметическим вектором. Проще всего представить его себе в виде списка значений, расположенных горизонтально или вертикально. Технология MMX привнесла в мир процессоров возможность выполнять векторные математические вычисления.
Однако она была изначально довольно ограниченной, поскольку оперировала только целыми числами и фактически эксплуатировала для своих целей регистры FPU. Поэтому программисты, желающие использовать какие-то инструкции MMX, вынуждены иметь в виду, что при выполнении таких инструкций любые вычисления с плавающей запятой не могут выполняться одновременно с ними.
Знаменитая реклама технологии Intel MMX (1997).
FPU Pentium имел 64-битные регистры, и в операциях MMX каждый из них мог вместить два 32-битных, четыре 16-битных или восемь 8-битных целых числа. Именно эти группы чисел и являются векторами, и каждая инструкция, предназначенная для них, будет выполняться сразу над всеми значениями в группе.
Такой принцип получил название SIMD (single instruction, multiple data, «одиночный поток команд, множественный поток данных») и знаменует собой большой шаг вперед в развитии возможностей процессоров для персональных компьютеров.
Ну а какие приложения выигрывают от использования такого принципа? Практически все, которым приходится выполнять одинаковые вычисления над группой однородных данных, и в первую очередь это некоторые функции в 3D-моделировании и мультимедийных технологиях, а также в системах обработки стандартных сигналов.
Например, MMX можно применить для ускорения умножения матриц при обработке вершин в 3D, или для смешивания видеопотоков при работе с хромакеем или альфа-композитингом.
Процессор AMD K6-2 – где-то там есть 3DNow!
К сожалению, внедрение MMX продвигалось довольно медленными темпами из-за негативного влияния этой технологии на производительность операций с плавающей точкой. AMD частично решила эту проблему, создав свою собственную версию под названием 3DNow! примерно через два года после появления MMX. Технология от AMD предлагала больше инструкций SIMD и умела обрабатывать числа с плавающей точкой, но также страдала от недостатка понимания программистами.
Ах, да! Как же официально расшифровывается аббревиатура MMX? Согласно Intel – никак!
Проще пареной SSE
Ситуация переломилась в лучшую сторону с приходом в 1999 году процессора Intel Pentium III. Он принёс с собой блестящую реализацию векторной функции под названием SSE (Streaming SIMD Extensions, «потоковые расширения SIMD»). На этот раз это был дополнительный набор из восьми 128-битных регистров, отдельных от регистров в FPU, и стек дополнительных инструкций для обработки чисел с плавающей точкой.
Использование независимых регистров означает, что больше нет такой сильной зависимости от FPU, хотя Pentium III не мог выполнять инструкции SSE одновременно с инструкциями FP. А также, новая функция поддерживает только один тип данных в регистрах: четыре 32-битных FP-числа.
Но переход к использованию FP-инструкций SIMD позволил значительно увеличить производительность в таких приложениях, как кодирование/декодирование видео, обработка изображений и звука, сжатие файлов и многих других.
Pentium IV: желтым цветом выделен блок регистров SSE2.
Усовершенствованная версия SSE2 появилась в 2001 году вместе с Pentium 4, и на этот раз поддержка типов данных была намного лучше: четыре 32-битных или два 64-битных FP-числа, а также шестнадцать 8-битных, восемь 16-битных, четыре 32-битных или два 64-битных целых числа. Регистры MMX остались в процессоре, но все операции MMX и SSE могли выполняться с использованием независимых 128-битных регистров SSE.
Модификация SSE3 появилась на свет в 2003 году, имея больше инструкций и возможность выполнять некоторые математические вычисления между значениями внутри одного регистра.
Ещё через 3 года мы познакомились с архитектурой Intel Core, принёсшей ещё одну ревизию технологии SIMD (SSSE3 – Supplemental SSE, «расширенные SSE»), и чуть позже в том же году – финальную версию, SSE4.
В 2007 году AMD применила собственную версию расширений CPU-инструкций SSE4 в своей архитектуре Barcelona. С названием в AMD париться не стали, и назвали свою версию просто SSE4a.
С линейкой Nehalem Core в 2008 году было выпущено незначительное обновление этой версии, которую Intel обозначила как SSE4.2 (а под SSE4.1 стали понимать исходную версию этого обновления). Обновления не затронули регистры, а лишь добавили больше инструкций в таблицу, расширив диапазон возможных математических и логических операций.
AMD, со своей стороны, сперва предложила новую версию SSE5, но позже решила разделить ее на три отдельных расширения, одно из которых довольно проблемное – подробнее об этом чуть позже.
К концу 2008 года и Intel, и AMD поставляли процессоры, которые уже могли обрабатывать все версии наборов инструкций от MMX до SSE4.2, и многие приложения (в основном игры) начали требовать этих функций для работы.
Время для новых букв
2008 год также был годом, когда Intel объявила о том, что они работают над значительным апгрейдом своей системы SIMD, и в 2011 году выкатила линейку процессоров Sandy Bridge с поддержкой набора инструкций AVX (Advanced Vector Extensions, «продвинутые векторные расширения»).
Всё удвоилось: вдвое больше векторных регистров и вдвое больше их размер.
Шестнадцать 256-битных регистров вмещают только восемь 32-битных или четыре 64-битных вещественных числа, поэтому в плане форматов данных, этот набор инструкций более ограничен в сравнении с SSE, но ведь и SSE никто не отменял. К тому времени программная поддержка векторных операций для CPU была уже хорошо отлажена, начиная с фундаментального мира компиляторов, заканчивая сложными приложениями.
И не даром: Core i7-2600K (или подобный ему), работающий на частоте 3,8ГГц, потенциально может выдавать более 230 GFLOPS (миллиардов операций с плавающей точкой в секунду) при выполнении инструкций AVX – неплохо для дополнения, относительно немного места занимающего на кристалле процессора.
Или могло бы быть неплохо, если бы он действительно работал на частоте 3,8ГГц. Частично проблема AVX заключалась в том, что нагрузка на чип получалась настолько высокой, что Intel пришлось заставить процессор автоматически снижать тактовую частоту в этом режиме примерно на 20%, чтобы уменьшить энергопотребление и не допустить перегрева. К сожалению, такова цена за выполнение любой работы SIMD в современном процессоре.
Еще одно усовершенствование, предлагаемое в AVX – это возможность работать одновременно с тремя значениями. Во всех версиях SSE операции выполнялись между двумя значениями, после чего результат заменял одно из них в регистре. При выполнении инструкций SIMD AVX не трогает исходные значения, сохраняя результирующее значение в отдельный регистр.
AVX2 был выпущен вместе с архитектурой Haswell для процессоров Core 4-го поколения в 2013 году, и представлял собой довольно значительный апгрейд, благодаря добавлению нового расширения: FMA (Fused Multiply-Add, «умножение-сложение с однократным округлением»).
Эта независимая функция в составе AVX2 была крайне востребована для приложений, работающих с векторной и матричной математикой, поскольку давала возможность выполнять две операции с помощью одной инструкции. Функция поддерживала и скалярные операции также.
Проблема оказалась в том, что FMA от Intel отличался от аналогичного расширения AMD настолько, что они были совершенно несовместимы. Причина в том, что Intel FMA представляет собой систему с тремя операндами, то есть работает с тремя отдельными значениями: два слагаемых и сумма, либо три слагаемых и сумма, замещающая одно из слагаемых.
У версии от AMD четыре операнда, поэтому она может вычислить 3 числа и записать ответ в отдельный регистр, не трогая исходные значения. Математически FMA4 лучше, чем FMA3, но его реализация немного сложнее, как с точки зрения программирования, так и с точки зрения интеграции функции в процессор.
AVX-512: а не многовато-ли?
AVX2 ещё только начал появляться на рынке процессоров, а Intel уже плела маниакальные планы относительно его преемника, AVX-512, и общий настрой среди разработчиков был такой: «больше регистров богу регистров!». Мало того, что этих самых регистров снова вдвое больше, и они снова вдвое увеличились в размере, так ещё и появился стек новых инструкций и поддержка устаревших.
Первой партией чипов, на которых поднялся в воздух набор функций AVX-512, стала серия Xeon Phi 7200 – второе поколение громоздких и очень многоядерных процессоров Intel, ориентированных на рынок суперкомпьютеров.
72-ядерный 288-потоковый Knights Landing Xeon Phi.
В отличие от всех предыдущих реализаций, новый набор векторных инструкций состоял из 19-и компонентов: базового – AVX-512F, – необходимого для обеспечения совместимости, и множества весьма специфических. Эти дополнительные наборы охватывают такие области операций, как обратная математика, целочисленные FMA и алгоритмы свёрточной (конволюционной) нейронной сети (CNN-алгоритмы).
Первоначально AVX-512 был только прерогативой крупнейших чипов Intel, предназначенных для рабочих станций и серверов, но теперь их недавние архитектуры Ice Lake и Tiger Lake также поддерживают его. Да, не удивляйтесь: вы можете купить легкий ноутбук с процессором, имеющим 512-битные векторные блоки.
Это может показаться круто. А может и не показаться – в зависимости от вашей точки зрения. Регистры на кристалле CPU обычно группируются в так называемом регистровом файле, как видно на макрофото ниже.
2-ядерный Intel Skylake
Желтым прямоугольником выделен файл векторных регистров, красный прямоугольник – это наиболее вероятное расположение файла целочисленного регистра. Обратите внимание, насколько файл векторного регистра больше integer-регистра. В Skylake используются 256-битные регистры AVX2, следовательно аналогичный векторный регистровый файл AVX-512 занял бы на таком же кристалле в четыре раза больше места: вдвое больше, потому что вдвое больше их размер, и ещё вдвое – потому что самих регистров вдвое больше.
А очень-ли нужно такое количество векторных регистров маленькому чипу, который должен быть максимально мобильным? Хоть речь и не о лишних килограммах в ноутбуке, а лишь о небольшой части площади ядра процессора, каждый квадратный миллиметр имеет значение, когда речь идет о миниатюризации мобильных устройств и наиболее эффективном использовании доступного пространства в них.
И учитывая, что использование AVX в любом виде приводит к автоматическому уменьшению тактовой частоты, использование AVX-512 на таких платформах скорее всего приведет к ещё более сомнительным издержкам по сравнению с любым из своих предшественников, поскольку при работе он потребляет еще больше энергии.
AVX2 был выпущен вместе с архитектурой Haswell для процессоров Core 4-го поколения в 2013 году, и представлял собой довольно значительный апгрейд, благодаря добавлению нового расширения: FMA (Fused Multiply-Add, «умножение-сложение с однократным округлением»).
Эта независимая функция в составе AVX2 была крайне востребована для приложений, работающих с векторной и матричной математикой, поскольку давала возможность выполнять две операции с помощью одной инструкции. Функция поддерживала и скалярные операции также.
Проблема оказалась в том, что FMA от Intel отличался от аналогичного расширения AMD настолько, что они были совершенно несовместимы. Причина в том, что Intel FMA представляет собой систему с тремя операндами, то есть работает с тремя отдельными значениями: два слагаемых и сумма, либо три слагаемых и сумма, замещающая одно из слагаемых.
У версии от AMD четыре операнда, поэтому она может вычислить 3 числа и записать ответ в отдельный регистр, не трогая исходные значения. Математически FMA4 лучше, чем FMA3, но его реализация немного сложнее, как с точки зрения программирования, так и с точки зрения интеграции функции в процессор.
AVX-512: а не многовато-ли?
AVX2 ещё только начал появляться на рынке процессоров, а Intel уже плела маниакальные планы относительно его преемника, AVX-512, и общий настрой среди разработчиков был такой: «больше регистров богу регистров!». Мало того, что этих самых регистров снова вдвое больше, и они снова вдвое увеличились в размере, так ещё и появился стек новых инструкций и поддержка устаревших.
Первой партией чипов, на которых поднялся в воздух набор функций AVX-512, стала серия Xeon Phi 7200 – второе поколение громоздких и очень многоядерных процессоров Intel, ориентированных на рынок суперкомпьютеров.
72-ядерный 288-потоковый Knights Landing Xeon Phi.
В отличие от всех предыдущих реализаций, новый набор векторных инструкций состоял из 19-и компонентов: базового – AVX-512F, – необходимого для обеспечения совместимости, и множества весьма специфических. Эти дополнительные наборы охватывают такие области операций, как обратная математика, целочисленные FMA и алгоритмы свёрточной (конволюционной) нейронной сети (CNN-алгоритмы).
Первоначально AVX-512 был только прерогативой крупнейших чипов Intel, предназначенных для рабочих станций и серверов, но теперь их недавние архитектуры Ice Lake и Tiger Lake также поддерживают его. Да, не удивляйтесь: вы можете купить легкий ноутбук с процессором, имеющим 512-битные векторные блоки.
Это может показаться круто. А может и не показаться – в зависимости от вашей точки зрения. Регистры на кристалле CPU обычно группируются в так называемом регистровом файле, как видно на макрофото ниже.
2-ядерный Intel Skylake
Желтым прямоугольником выделен файл векторных регистров, красный прямоугольник – это наиболее вероятное расположение файла целочисленного регистра. Обратите внимание, насколько файл векторного регистра больше integer-регистра. В Skylake используются 256-битные регистры AVX2, следовательно аналогичный векторный регистровый файл AVX-512 занял бы на таком же кристалле в четыре раза больше места: вдвое больше, потому что вдвое больше их размер, и ещё вдвое – потому что самих регистров вдвое больше.
А очень-ли нужно такое количество векторных регистров маленькому чипу, который должен быть максимально мобильным? Хоть речь и не о лишних килограммах в ноутбуке, а лишь о небольшой части площади ядра процессора, каждый квадратный миллиметр имеет значение, когда речь идет о миниатюризации мобильных устройств и наиболее эффективном использовании доступного пространства в них.
И учитывая, что использование AVX в любом виде приводит к автоматическому уменьшению тактовой частоты, использование AVX-512 на таких платформах скорее всего приведет к ещё более сомнительным издержкам по сравнению с любым из своих предшественников, поскольку при работе он потребляет еще больше энергии.
И проблема AVX-512 не только в применении к небольшим мобильным процессорам. Разработчикам, пишущим код для работы на рабочих станциях и серверах, и для которых увеличение возможностей векторных расширений действительно важный вопрос, потребуется создавать несколько версий кода. Это связано с тем, что не все процессоры с AVX-512 работают с одинаковым набором команд.
Например, набор IFMA (Integer Fused Multiply Add, «целочисленное умножение-сложение с однократным округлением») доступен только на процессорах Cannon, Ice и Tiger Lake. В то время как процессоры на архитектуре Cooper и Cascade Lake его не поддерживают, несмотря на то, что они относятся к сегменту процессоров для серверов и рабочих станций.
Стоит отметить, что AMD не предлагает поддержку AVX-512, и не собирается. По их мнению, обработка массивных векторных вычислений – это прерогатива GPU. С AMD полностью солидарна Nvidia, и обе компании уже выпустили продукты специально для таких нужд.
И дальше что?
Много лет назад процессор с возможностью обработки векторной математики ознаменовал собой эпохальный прорыв. Современные процессоры обладают огромными возможностями, предлагая множество наборов инструкций для обработки целочисленных операций и операций с плавающей запятой для скалярных, векторных и матричных данных.
Что касается последних двух типов данных, то CPU теперь напрямую конкурируют с GPU: ведь мир 3D-графики – это как раз всё, что связано с SIMD, векторами, плавающими точками и т.д. И производители GPU не спали – разработка графических ускорителей велась стремительными темпами. В начале 2010-х годов купить видеокарту, процессор которой способен выполнять почти 800 миллиардов инструкций SIMD в секунду, вы уже могли менее чем за 500 долларов.
Это больше, чем то, на что сейчас способны лучшие из десктопных CPU. Но они и не предназначены для рекордов в какой-то конкретной области – их задача обрабатывать очень обобщенный код, который зачастую не повторяется или легко распараллеливается. Поэтому, не стоит думать, что возможности SIMD столь жизненно-важны для CPU, скорее это полезное дополнение к его арсеналу.
Вас интересует производительность SIMD в чистом виде? Ваш выбор – видеокарта, а не материнка!
Стремительное развитие графических процессоров недвусмысленно намекает, что для CPU нет нужды иметь чересчур большие векторные блоки, и почти наверняка именно поэтому AMD даже не пыталась разрабатывать своего собственного преемника для AVX2 (расширение, которое они используют в своих чипах с 2015 года). Давайте также не будем забывать, что процессоры следующего поколения могут больше походить на мобильные однокристальные (SoC, System-on-a-Chip), где под каждый тип задач выделена площадь на кристалле. Intel, в свою очередь, похоже, стремится внедрить AVX-512 в как можно большее количество продуктов.
Ждёт ли нас ещё и AVX-1024? Вряд ли, либо очень нескоро. Скорее всего, Intel займётся расширением AVX-512 с помощью дополнительных компонентов с инструкциями, чтобы повысить гибкость, а чистую SIMD-производительность переложит на плечи своей недавно разработанной линейки графических процессоров Xe.
Библиотеки SSE и AVX теперь являются неотъемлемой частью программного обеспечения: Adobe Photoshop требует, чтобы процессоры поддерживали как минимум SSE4.2; API машинного обучения TensorFlow требует поддержки AVX; Microsoft Teams может выполнять фоновые видеоэффекты, только если доступен AVX2.
Это говорит только об одном: несмотря на то, что в плане обработки SIMD графическим процессорам нет равных, этот функционал ещё долго будет в арсенале CPU. Так что будем ждать нового поколения векторных расширений и надеюсь, реклама нас впечатлит.