Аббревиатура 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 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
answered Jun 17, 2014 at 14:01
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
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 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«
- Then install it and run HWiNFO64.
- A tiny window like the one below will appear. Just hit the Run button.
- When HWiNFO64 is opened, look into the CPU section.
- If AVX is green, it means your CPU supports it.
- 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«
- 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.
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:
- 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
- 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)
- 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».