Новый документ Intel для разработчиков программного обеспечения сообщает о том, что компания введёт поддержку набора инструкций AVX-512 в свои потребительские процессоры начиная с поколений Cannon Lake и Ice Lake. Новые расширения для x86 позволят CPU повысить производительность в определённых приложениях. Между тем не совсем понятно, какие именно программы для настольных и мобильных ПК будут поддерживать AVX-512 в 2018–2019 годах, когда данные процессоры выйдут на рынок.
AVX-512: для избранных уже сегодня
Начиная с середины 90-х годов прошлого века корпорации Intel и AMD внедряли различные расширения набора инструкций для архитектуры x86. В течение последних 20 лет обе компании добавили сотни новых команд, призванных увеличить производительность либо за счёт использования параллелизма на уровне данных (и применения SIMD-инструкций), либо с помощью специальных аппаратных блоков.
Последние расширения Intel для потребительских платформ называются AVX/AVX2, а их основными задачами было расширение ширины файла регистров (как для операций с плавающей точкой, так и для операций с целыми числами) до 256 разрядов, а также добавление команд вроде FMA3 (служащих аналогичной цели: производить относительно сложные вычисления за один такт). При выполнении 256-разрядных операций AVX/AVX2 процессоры иногда должны снижать свою частоту, поскольку при исполнении таких операций увеличиваются энергопотребление и тепловыделение, но даже на сниженных частотах использование AVX/AVX2 имеет большой смысл.
Эволюция Intel AVX
Следующим шагом в эволюции расширений набора инструкций стал AVX-512. В случае с данным набором команд компания пошла по несколько отличному от традиционного пути: она создала специфические команды для определённых приложений и реализовала их в разных типах процессоров. Так, некоторые расширения AVX-512 нацелены в первую очередь на рабочие нагрузки серверов общего назначения, тогда как другие применимы для суперкомпьютеров. Реализация всех расширений во всех продуктах вряд ли имеет большой смысл для Intel и её клиентов, поэтому последние Intel Xeon поколения Skylake-SP (и процессоры HEDT на их основе) поддерживают один набор команд AVX-512, а Xeon Phi — другой (в диаграмме ниже показаны разные уровни поддержки AVX-512 разными CPU). При этом современные потребительские процессоры вообще не поддерживают AVX-512, поскольку физическая реализация 512-разрядного файла регистров значительно увеличивает размер ядра (до 15 % в случае ядра Skylake) и его себестоимость, а также потому, что программы для клиентских ПК сегодня не умеют использовать новые инструкции.
Текущие инкарнации AVX-512. Диаграмма из твиттера @InstLatx64
Впрочем, в будущем всё изменится: Intel планирует включить поддержку ряда команд AVX-512 в своих будущих потребительских процессорах Cannon Lake и Ice Lake, а разработчики программного обеспечения могут начать внедрять поддержку новых инструкций уже сейчас с прицелом на HEDT-платформы на базе Core i7/Core i9 с ядрами Skylake-SP.
AVX-512: для (почти?) всех, но завтра
Согласно документу Intel для разработчиков программ, потребительские процессоры поколения Cannon Lake будут поддерживать наборы команд AVX512F, AVX512CD, AVX512DQ, AVX512BW и AVX512VL, что соответствует уровню Intel Xeon Scalable и Intel Core i7/Core i9. Кроме того, микроархитектура Cannon Lake будет поддерживать команды AVX512_IFMA и AVX512_VBMI, но на данный момент не ясно, будет ли их поддержка ограничена серверами или же будет включена и в потребительских процессорах (последний сценарий более вероятен).
Intel Core i9-7900X: AVX-512 уже сегодня
Изначально Intel обещала выпустить свои процессоры поколения Cannon Lake в 2016–2017 годах, но отложила внедрение технологического процесса 10 нм до 2018 года, тем самым отложив и выпуск новых CPU. Как ожидалось, процессоры Cannon Lake должны были стать 10-нм версиями Kaby Lake (а затем Coffee Lake) с некоторыми усовершенствованиями, но добавление поддержки AVX-512 означает довольно ощутимое изменение архитектуры, поскольку большие фрагменты данных требуют большой пропускной способности памяти (в Skylake-SP она обеспечивается большими кешами и контроллерами памяти с четырьмя или шестью каналами). Принимая во внимание требования к ПСП и энергопотребление AVX-512-блоков, новые инструкции могут поддерживаться не всеми клиентскими процессорами Cannon Lake, но лишь теми, которые нацелены на относительно высокопроизводительные ПК. Например, мы можем не увидеть AVX-512 в мобильных процессорах со сниженным энергопотреблением, а также моделях для настольных ПК начального уровня. Впрочем, хорошая новость заключается в том, что когда мощные Cannon Lake появятся на рынке, по крайней мере некоторые программы для клиентских компьютеров смогут использовать расширения AVX-512.
Эволюция AVX-512 для центральных процессоров общего назначения не остановится на Cannon Lake. Процессоры Intel Ice Lake будут поддерживать инструкции AVX512_VPOPCNTDQ (они также будут поддерживаться Xeon Phi семейства Knights Mill), а также команды AVX512_VNNI, AVX512_VBMI2, AVX512+VPCLMULQDQ и AVX512_BITALG. Кроме того, микросхемы Ice Lake будут поддерживать AVX-512 версии известных алгоритмов AES и GFNI для шифрования и исправлений ошибок — AVX512+VAES и AVX512+GFNI. Тем временем, Knights Mill будет эксклюзивно поддерживать AVX512_4FMAPS и AVX512_4VNNI. Впрочем, существует заявка Intel на заплатку к ядру Linux, которая утверждает, что эти инструкции будут поддерживаться как Xeon Phi, так и Xeon. Описания к заплаткам Linux не всегда точны, а планы могут меняться, но данную информацию следует учитывать.
Будущие инкарнации AVX-512. Диаграмма из твиттера @InstLatx64
Как видно из документа Intel, процессоры поколений Cannon Lake и Ice Lake будут иметь поддержку самых современных инструкций AVX-512. Неизвестно, будут ли ядра CNL и ICL использоваться в будущих серверных процессорах (следует помнить, что Intel готовит некий исключительно серверный продукт с кодовым именем Cascade Lake), но если это так, то, судя по всему, ядра Intel для серверных и потребительских CPU будут иметь один и тот же набор возможностей AVX-512.
Важное событие
Внедрение инструкций AVX-512 в потребительские процессоры Intel — довольно важное событие даже несмотря на то, что данный набор команд в основном предназначен для обработки больших объёмов данных, что свойственно для серверов и, в определённой степени, рабочих станций. Так, последние могут получить от AVX-512 прибавку производительности в областях вроде кодирования видео, рендеринга, криптографии, глубокого обучения и т. д. Судя по всему, в Intel считают, что 512-разрядные INT/FP-вычисления станут важными и для потребительских ПК.
Intel Core X: AVX-512 уже сегодня
Источник:
В Tesla опровергли слухи о продаже своего бизнеса в Китае
Redmi представила «убийц флагманов» K100 Pro и K100 Pro Max со Snapdragon 8 Elite Gen 5, аккумулятором на 9000 мАч и камерой на 200 Мп
ИИ находит вдвое больше программных уязвимостей, но хакеры их почти не используют
Rocket Lab открыла четвёртый космодром на Аляске для расширения сети запусков
Китайские астрономы открыли уникальный пульсар с аномальным замедлением и нулевым гамма-излучением
Раскрыты характеристики глобальной версии Redmi Note 17 Pro Max: батарея 9210 мА·ч, зарядка 100 Вт, защита IP69K и чип Snapdragon 6 Gen 5
Запущен первый спутниковый флот для обнаружения лесных пожаров на ранней стадии
Россия открывает доступ к квантовому процессору SnowDrop 8Q на 8 кубитов