С поддержкой инструкций AVX-512 у процессоров Core 12-го поколения вышла целая эпопея. Напомню, изначально она была, и даже заявлялась в официальных спецификациях, но требовалось в BIOS активировать соответствующую настройку. После лавочку новыми BIOS, но некоторые производители материнских плат ограничение обошли, не говоря уже про модифицированные прошивки от энтузиастов. В конечном итоге Intel решила вопрос ультимативным образом, выпустив чипы новой ревизии, где инструкции AVX-512 деактивированы на уровне кремния...
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 избыточны, и хочется дополнительно оптимизировать производительность и энергопотребление.