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 всё-таки можно запускать большинство игр, редактировать фото, смотреть видео, общаться в интернете и др., хотя и не так комфортно.

Как узнать, поддерживает ли процессор 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), редакторы или другие авторы. Ещё к этому автору могут попадать статьи, авторы которых написали мало статей и для них не было смысла создавать отдельные аккаунты.

I’m writing a program using Intel intrinsics. I want to use _mm_permute_pd intrinsic, which is only available on CPUs with AVX. For CPUs without AVX I can use _mm_shuffle_pd but according to the specs it is much slower than _mm_permute_pd. Do the header files for Intel intrinsics define constants that allow me to distinguish whether AVX is supported so that I can write sth like this:

#ifdef __IS_AVX_SUPPORTED__  // is there sth like this defined?
// use _mm_permute_pd
# else
// use _mm_shuffle_pd
#endif

? I have found this tutorial, which shows how to perform a runtime check but I need to do a static, compile-time check for the current machine.

asked Jun 17, 2014 at 9:42

Jan Stolarek's user avatar

Jan StolarekJan Stolarek

1,4091 gold badge11 silver badges21 bronze badges

1

GCC, ICC, MSVC, and Clang all define a macro __AVX__ which you can check. In fact it’s the only SIMD constant defined by all those compilers (MSVC is the one that breaks the mold). This only tells you if your code was compiled with AVX support (e.g. -mavx with GCC or /arch:AVX with MSVC) it does not tell you if your CPU supports AVX. If you want to know if the CPU supports AVX you need to check CPUID. Here, asm-in-c-error, is an example to read CPUID from all those compilers.

To do this properly I suggest you make a CPU dispatcher.

Edit: In case anyone wants to know how to use the values from CPUID to find out if AVX is available see https://github.com/Mysticial/FeatureDetector

Community's user avatar

answered Jun 17, 2014 at 14:01

Z boson's user avatar

Z bosonZ boson

32.7k12 gold badges123 silver badges226 bronze badges

1

I assume you are using Intel C++ Compiler. In this case — yes, there are such macros: Intel C++ Compiler Reference Guide: __AVX__, __AVX2__.

P.S. Be aware that if you compile you application with AVX instruction set enabled it will fail on CPUs not supporting AVX. If you are going to distribute your software as source code package and compile on target machine — this is may be a viable solution. Otherwise you should check for AVX dynamically.

P.P.S. There are several options for ICC. Take a look at the following compiler options and also references from it to other.

answered Jun 17, 2014 at 11:02

vharavy's user avatar

vharavyvharavy

4,88123 silver badges30 bronze badges

2

It seems to me that the only way is to compile and run a program that identifies whether AVX is available. Then manually or automatically compile separate code with or without AVX functions. For VS 2013, I would used my code in commomAVX folder in the following to identify hasAVX (or not) and use this to execute one of two different BAT files to compile and link the appropriate program.

http://www.roylongbottom.org.uk/gigaflops-benchmarks.zip

My question was to help to identify a solution regarding the use of suitable compile options such as /arch:AVX.

answered Jun 17, 2014 at 22:59

Roy Longbottom's user avatar

Roy LongbottomRoy Longbottom

1,1921 gold badge6 silver badges8 bronze badges

0

Некоторые из высокобюджетных (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 зеленый, это означает, что ваш процессор поддерживает его.

Some of the high-budget (AAA) games released these days require an AVX (Advanced Vector Extensions) compatible CPU to run on your PC, and you have to check AVX before buying the game. Such as The Last of Us Part I, Sonic Frontiers, Victoria 3, NBA 2K23, NBA 2K24, Star Citizen, WWE 2K22, Death Stranding, Yakuza 3 Remastered, Age of Empires IV, Dying Light 2, UNCHARTED: Legacy of Thieves Collection (AVX2), etc…

If your CPU doesn’t support AVX instructions, attempting to run a game that requires AVX or AVX2 will result in the game not launching, and you will see an error message like the one below.

«Your CPU needs to support AVX instructions to run this game.»

«Unsupported Hardware Detected. This game requires a CPU supporting the AVX instruction set to run.»

«Fatal error. Error launching the application. Please check the system requirements. (AVX)»

«Minimum requirements failed. Warning: Your system is below the minimum requirements. For optimal performance please refer to the supported hardware list. Following CPU instruction sets are required: AVX»

Note: The game may crash even without any error messages.

What is AVX?

Advanced Vector Extensions (AVX) are a set of SIMD (single instruction, multiple data) instruction set extensions for x86 processors from Intel and AMD. They accelerate certain mathematical operations, particularly in tasks like video encoding, scientific simulations, and cryptography.

AVX is an expansion of the x86 instruction set architecture that provides improved performance for floating-point-intensive applications. It does this by enabling the execution of multiple data elements with a single instruction, allowing for greater parallelism in computations. The introduction of AVX marked a significant step forward in the capabilities of modern processors.

Differences between AVX versions

There are three main versions of AVX: AVX, AVX2, and AVX-512. Each version builds upon the previous one, adding new features and enhancements:

AVX

AVX: The first iteration of Advanced Vector Extensions introduced 256-bit wide SIMD registers, allowing for better performance in floating-point operations. It also added new instructions for better support of complex arithmetic operations.

AVX2

AVX2: This version expanded the capabilities of AVX by adding support for integer operations in the 256-bit SIMD registers. AVX2 also introduced Fused Multiply-Add (FMA) instructions, which further improve the performance of certain mathematical operations. Additionally, it added new instructions for manipulating and processing data in SIMD registers.

AVX-512

AVX-512: AVX-512 further extended the SIMD registers to 512-bit widths, providing even greater performance improvements for specific workloads. It also added support for a larger number of registers and introduced new instructions for enhanced data manipulation, processing, and control flow.

Related: How to Boost FPS and PC Performance for Gaming

Before purchasing a game with AVX requirements, it is wise to check if your CPU supports it.

You can use free software to check AVX compatibility. Install the software by following the steps below, and then use it to make sure that your CPU supports AVX.

  • Go to https://www.fosshub.com/HWiNFO.html
  • To download the software, click «HWiNFO Installer«
HWiNFO Installer
  • Then install it and run HWiNFO64.
  • A tiny window like the one below will appear. Just hit the Run button.
HWiNFO64
  • When HWiNFO64 is opened, look into the CPU section.
  • If AVX is green, it means your CPU supports it.
AVX
  • If you want to play a game on your rig that requires AVX2. You can also see it there. AVX2 is right next to AVX. If it’s green, your CPU supports it too.

How do I see if my processor supports AVX or AVX2 via Steam?

If you have Steam installed on your system, you can check if your CPU supports AVX or AVX2 without the need for extra software. Here is how to check AVX:

  • Click Help from the top left bar on Steam.
  • Then choose the «System Information«
Steam System Information
  • In the mini window that opens, scroll down the list a little and find AVX. If it says Supported, then there is no problem. You can see the AVX2 as well.
Steam AVX AVX2

List of CPUs with AVX, AVX2, and AVX-512 support

AVX has been introduced in multiple versions, including AVX, AVX2, and AVX-512. Here’s a list of some processor families that support these extensions:

  1. AVX support:
    • Intel Sandy Bridge and later desktop and mobile processors
    • Intel Xeon E3, E5, and E7 series starting with the Sandy Bridge-EP generation
    • AMD Bulldozer and later processors
  2. AVX2 support:
    • Intel Haswell and later desktop and mobile processors
    • Intel Xeon E3, E5, and E7 series starting with the Haswell-EP generation
    • AMD Excavator and later processors (including Ryzen)
  3. AVX-512 support:
    • Intel Skylake-SP and later Xeon Scalable processors
    • Intel Xeon Phi x200 series (Knights Landing and Knights Mill)
    • Intel Core X-series processors (Skylake-X, Cascade Lake-X)
    • Intel Ice Lake and later desktop and mobile processors (limited subsets)

AVX CPU List

The following table shows a selection of CPUs that support (or do not support) AVX, AVX2, and AVX-512:

Processor AVX Support AVX2 Support AVX-512 Support
Intel Core2 Quad Q9550
Intel Pentium G3258
Intel Pentium G4560
Intel Pentium G4600
Intel Pentium G4600T
Intel Pentium Gold G5400
Intel Pentium Gold G5400T
Intel Pentium Gold G6400
Intel Core i3 330M
Intel Core i3 540
Intel Core i3 2120
Intel Core i3 2120T
Intel Core i3 3240
Intel Core i3 3240T
Intel Core i3 4160
Intel Core i3 4160T
Intel Core i3 6100
Intel Core i3 7100
Intel Core i3 9100F
Intel Core i3 9350K
Intel Core i3 9350KF
Intel Core i3 10100
Intel Core i3 10100F
Intel Core i3 12100
Intel Core i3 12100F
Intel Core i3 13100F
Intel Core i5 750
Intel Core i5 750s
Intel Core i5 760
Intel Core i5 2400
Intel Core i5 2400S
Intel Core i5 2500
Intel Core i5 2500K
Intel Core i5 3470
Intel Core i5 3470S
Intel Core i5 3470T
Intel Core i5 3570
Intel Core i5 3570K
Intel Core i5 3570S
Intel Core i5 3570T
Intel Core i5 4460
Intel Core i5 4670K
Intel Core i5 6500
Intel Core i5 6600
Intel Core i5 6600K
Intel Core i5 7400
Intel Core i5 7400T
Intel Core i5 7500
Intel Core i5 7500T
Intel Core i5 7600
Intel Core i5 7600K
Intel Core i5 7600T
Intel Core i5 8400
Intel Core i5 8400H
Intel Core i5 8400T
Intel Core i5 8600K
Intel Core i5 9400
Intel Core i5 9400F
Intel Core i5 9400T
Intel Core i5 9600K
Intel Core i5 9600KF
Intel Core i5 10400
Intel Core i5 10400F
Intel Core i5 10600KF
Intel Core i5 10600K
Intel Core i5 11400
Intel Core i5 11400F
Intel Core i5 11600K
Intel Core i5 12400
Intel Core i5 12400F
Intel Core i5 12600K
Intel Core i5 13500
Intel Core i5 13500E
Intel Core i5 13500H
Intel Core i5 13500HX
Intel Core i5 13500T
Intel Core i5 13500TE
Intel Core i5 13400F
Intel Core i5 13600KF
Intel Core i5 13600K
Intel Core i7 860
Intel Core i7 870
Intel Core i7 930
Intel Core i7 2600
Intel Core i7 2600K
Intel Core i7 2600
Intel Core i7 3630QM
Intel Core i7 3770
Intel Core i7 3770K
Intel Core i7 3770S
Intel Core i7 3770T
Intel Core i7 4770
Intel Core i7 4770HQ
Intel Core i7 4770K
Intel Core i7 4790K
Intel Core i7 6700
Intel Core i7 6700HQ
Intel Core i7 6700K
Intel Core i7 7700K
Intel Core i7 8700K
Intel Core i7 9700K
Intel Core i7 10700K
Intel Core i7 11700K
Intel Core i7 12700K
Intel Core i7 13700K
Intel Core i9 9900K
Intel Core i9 11900K
Intel Core i9 11900KB
Intel Core i9 11900KF
Intel Core i9 12900K
Intel Core i9 12900KF
Intel Core i9 12900KS
Intel Core i9 13900K
Intel Xeon E5 2690
Intel Xeon E5 2697 v2
Intel Xeon E5 2699 v3
Intel Xeon E5 2698 v4
Intel Xeon X5650
Intel Xeon X5675
Intel Xeon X5690
Intel Xeon Gold 6130
Intel Xeon Gold 6150
Intel Xeon Phi 7290
AMD Phenom II X4 955
AMD Phenom II X4 965
AMD FX 6300
AMD FX 8350
AMD Ryzen 3 2200G
AMD Ryzen 3 2200GE
AMD Ryzen 3 PRO 2200GE
AMD Ryzen 3 2200U
AMD Ryzen 5 1500X
AMD Ryzen 5 1600
AMD Ryzen 5 1600X
AMD Ryzen 5 2600
AMD Ryzen 5 2600E
AMD Ryzen 5 2600H
AMD Ryzen 5 2600X
AMD Ryzen 5 PRO 2600
AMD Ryzen 5 3400G
AMD Ryzen 5 3400GE
AMD Ryzen 5 PRO 3400GE
AMD Ryzen 5 3600
AMD Ryzen 5 5600X
AMD Ryzen 5 7600X
AMD Ryzen 7 1800X
AMD Ryzen 7 2700
AMD Ryzen 7 3700X
AMD Ryzen 7 5800X
AMD Ryzen 9 3900X
AMD Ryzen 9 3900XT
AMD Ryzen 9 5900X
Ryzen Threadripper 3990X
AMD Athlon 200GE
AMD Athlon 3000G
AMD EPYC 73F3
AMD EPYC Embedded 9124

Please note that this list is not exhaustive and only provides a snapshot of some popular CPUs supporting AVX, AVX2, and AVX-512. Always consult the processor’s documentation for the most accurate and up-to-date information on supported features.

Весной закончилась баталия между Intel и производителями материнских плат, в основе которой находилась возможность включения инструкций AVX-512 у настольных процессоров семейства Alder Lake. Напоминаем, что изначально высокопроизводительные ядра поддерживали AVX-512, однако потом Intel решила отключить поддержку, но производители материнских плат использовали различные обходы ограничений до тех пор, пока компания не начала выключать поддержку на аппаратном уровне.

Если вам все же нужен представитель Alder Lake с поддержкой инструкций AVX-512, то специально для вас оверклокер Luumi выпустил видеоматериал с объяснением того, как очень быстро найти процессор с поддержкой AVX-512. Весь секрет кроется в логотипе Intel на термораспредлительной крышечке: если он квадратный, то процессор не поддерживает AVX-512, а если он закруглен, то поддерживает.

«Похоже, что почти все процессоры Alder Lake, выпущенные в 2022 году, не имеют поддержки AVX-512, поэтому вам лучше искать процессор 2021 года. К счастью для нас, Intel оставила отметку, чтобы определить, поддерживает ли процессор AVX-512 или нет. Это можно понять, взглянув на крышечку. Каждый процессор с маркировкой в ​​виде гало/круга сверху слова “Intel” на крышечке имеет поддержку AVX-512, а все процессоры с прямоугольной/квадратной маркировкой не оснащаются AVX-512».

Понравилась статья? Поделить с друзьями:
  • Зодак инструкция по применению для беременных
  • Vsphere полное руководство
  • Мясорубка электрическая белвар кэм 36 инструкция по применению
  • Экстракт асцидии пурпурной для глаз инструкция цена где купить
  • World vision t59m инструкция на русском