Найти в Дзене
16,7 тыс подписчиков

AVX-инструкции здорового человека.


Еще недавно ходили слухи, что Intel похоронят набор инструкций AVX-512. Поддержки AVX-512 изначально не было в e-ядрах, а с определенного момента она была отключена и на p-ядрах Intel Core. Мы уж начали думать, что AVX-512 все, однако внезапно синие объявляют наследника AVX-512 в виде AVX10.

AVX10 также будут работать с 512 bit FP/int, и будут поддерживаться и на p-ядрах, и на e-ядрах, начиная с Xeon следующего поколения Granite Rapids.

Одним из главных новшеств AVX10 является поддержка новых расширений APX. Для поддержки APX, код потребуется просто перекомпилировать, предварительно обновив компилятор. Интел заявляют, что глобальных изменений вручную программистам вносить не потребуется. После этого софт сможет использовать до 32 регистров общего назначения вместо 16, эффективность loads повысится до 10%, а stores до 20%.

Иными словами, потребление ресурсов при работе с AVX10 в сравнении с AVX-512 снизится, производительность повысится, а энергоэффективность возрастет. А значит подтянутся слабые стороны AVX-512, на которые кто только ни жаловался, включая Линуса Торвальдса, создателя ядра Linux.

Переход на AVX10 будет проходить в два этапа. AVX10.1 с обратной совместимостью с legacy-инструкциями AVX-512 появится в Xeon Granite Rapids и будет поддерживаться только на P-ядрах, что логично. Однако софт с поддержкой AVX10 уже можно будет деплоить, тестировать и использовать.

А вот "настоящие" AVX10.2 появятся в одном из следующих поколений, как на p-ядрах, так и на e-ядрах. Тогда же появится и режим работы 256 bit FP/int, который будет уместен в тех случаях, когда 512 bit избыточны, и хочется дополнительно оптимизировать производительность и энергопотребление.
1 минута
878 читали