Содержание
- Обзор производительности Mali-G77
- Познакомьтесь с Вальхаллом, преемником Бифроста
- Внутри исполнения двигателя
- Quad Texture Mapper
- Собираем все вместе в Мали-G77
Наряду с новым ядром процессора Cortex-A77 компания Arm представила графический процессор нового поколения, предназначенный для смартфонов следующего поколения. Mali-G77, который не следует путать с новым процессором дисплея Mali-D77, знаменует собой отход от архитектуры Arm Bifrost и переход на Valhall.
Мы подробно расскажем о новой архитектуре. Во-первых, мы перейдем непосредственно к тому, что пользователи должны ожидать с точки зрения повышения производительности.
Обзор производительности Mali-G77
Arm может похвастаться повышением графической производительности на 40 процентов с устройствами следующего поколения Mali-G77 по сравнению с современными моделями Mali-G76. Это число учитывает как процесс, так и архитектурные улучшения. Mali-G77 настраивается от 7 до 16 шейдерных ядер, и каждое ядро почти точно такого же размера, как ядро G76. Это означает, что высокопроизводительные смартфоны, скорее всего, будут поставляться с таким же количеством ядер GPU, как и сегодня - где-то среди подростков. Удобно, это позволяет нам делать некоторые спекулятивные оценки производительности по сравнению с существующими чипсетами.
Если посмотреть на популярный тест Manhattan GFXBench, то повышение производительности на 40% открывает значительное преимущество перед аппаратным обеспечением текущего поколения. Чип следующего поколения Qualcomm Adreno будет нуждаться в собственном значительном улучшении производительности, чтобы поддерживать уровень игрового поля. Столы, кажется, поворачиваются в пользу Арм.
В архитектуре производительность игр увеличивается на 20–40%, а машинное обучение - на 60%.
Исходя из этого довольно грубого подхода, 10-ядерный Mali-G77 (конфигурация, которую мы часто видим от Huawei), похоже, едва ли не превосходит верхнюю часть линейки мобильных графических устройств этого поколения. 12-ядерная конфигурация, обычно встречающаяся в Exynos от Samsung, является лидером для новейшего графического процессора Arm. Конечно, реальные тесты будут зависеть от других факторов, включая узел процесса, кеш-память графического процессора, конфигурацию памяти LPDDR и тип тестируемого приложения. Так что возьмите приведенный выше график с большой дозой соли.
С точки зрения только новой архитектуры, Arm заявляет, что Mali-G77 предлагает в среднем 30-процентное улучшение энергоэффективности и плотности производительности. Кроме того, благодаря поддержке продуктов INT8, продукт для машинного обучения значительно вырос на 60 процентов. Ожидаемая производительность в играх установлена на уровне от 20 до 40 процентов, в зависимости от названия и типа графических рабочих нагрузок.
Чтобы точно понять, как Arm добилась этого повышения производительности, давайте глубже погрузимся в архитектуру.
Познакомьтесь с Вальхаллом, преемником Бифроста
Vahall - это скалярная архитектура графического процессора второго поколения от Arm. Это механизм исполнения с 16 деформациями шириной 16, что означает, что графический процессор выполняет 16 команд параллельно за цикл, на единицу обработки, на ядро. Это больше, чем 4 и 8 в Bifrost.
Другие новые архитектурные функции включают динамическое планирование команд, полностью управляемое аппаратно, и совершенно новый набор команд, который сохраняет операционную эквивалентность Bifrost. Другие включают поддержку формата сжатия Arm AFBC1.3, целей рендеринга FP16, многоуровневого рендеринга и выводов вершинных шейдеров.
Mali-G77 выполняет на 33% больше математики параллельно, чем G76.
Ключи к пониманию основных архитектурных изменений можно найти, изучив исполнительный блок внутри ядра. Эта часть графического процессора отвечает за сокращение чисел.
Внутри исполнения двигателя
В Bifrost каждое ядро графического процессора содержало три исполнительных механизма или два в случае некоторых более дешевых конструкций Mali-G52. Каждый движок содержит i-кеш, регистровый файл и блок управления деформацией. В Mali-G72 каждый двигатель обрабатывает 4 инструкции за цикл, который увеличился до 8 в прошлогодней Mali-G76. Распределение по этим трем ядрам позволяет использовать 12 и 24 32-битных с плавающей запятой (FP32) команды с многократным накоплением (FMA) за цикл.
С Valhall и Mali-G77 в каждом ядре графического процессора есть только один исполнительный механизм. Как и прежде, в этом движке размещены блок управления деформацией, регистр и icache, которые теперь совместно используются двумя процессорами. Каждый процессор обрабатывает 16 команд деформации за такт, что обеспечивает общую пропускную способность 32 инструкций FMA FP32 на ядро. Это на 33% увеличивает пропускную способность инструкций по сравнению с Mali-G76.
Arm перешел с трех до одного исполнительного модуля на ядро GPU, но теперь в ядре G77 есть два процессора.
Кроме того, каждый из этих блоков обработки содержит два новых математических функциональных блока. Новый модуль преобразования (CVT) обрабатывает основные целочисленные, логические, ветвящиеся и инструкции преобразования. Блок специальных функций (SFU) ускоряет умножение целых чисел, деление, квадратный корень, логарифмы и другие сложные целочисленные функции.
В стандартном блоке FMA есть несколько настроек, поддерживающих 16 инструкций FP32 за цикл, 32 FP16 или 64 инструкции для точечного продукта INT8. Эти оптимизации обеспечивают повышение производительности на 60% в приложениях машинного обучения.
Quad Texture Mapper
Другое ключевое изменение в Mali-G77 - это введение четырехпозиционного текстурного преобразователя по сравнению с двойным текстурным сопоставителем в предыдущем поколении. Текстурный картограф отвечает за отображение 3D полигонов в сцене в 2D представление, которое вы видите на экране. Он отвечает за выборку, интерполяцию и фильтрацию для сглаживания углового и движущегося содержимого, чтобы избежать резких, некачественных краев.
Недорогой сглаживание остается на месте, чтобы помочь с качеством изображения, но удвоение производительности текстуры является основным преимуществом здесь. Теперь текстурный модуль обрабатывает 4 билинейных текселя за такт по сравнению с 2 ранее, 2 трилинейных текселя за такт и обеспечивает более быструю фильтрацию FP16 и FP32.
Quad Texture Mapper разделен на два пути, что обеспечивает более короткий конвейер для потоков, попадающих в содержимое кеша. Мисс путь, который обрабатывает преобразование формата и декомпрессию текстуры, имеет более широкий интерфейс к кэшу второго уровня. Это также полезно для рабочих нагрузок машинного обучения, которым часто может потребоваться извлечение новых данных из памяти.
Собираем все вместе в Мали-G77
Arm сделал ряд других изменений в Mali-G77, чтобы совпасть с основными изменениями в архитектуре Valhall. Блок управления упрощен благодаря конструкции с единым исполнительным модулем, в то время как внутренний динамический планировщик фактически обеспечивает более гибкую команду выдачи внутри каждого ядра. При более высокой пропускной способности в каждом ядре канал передачи данных также короче и имеет меньшую задержку, до 4 циклов по сравнению с 8 ранее.
Новый дизайн также лучше согласуется с API Vulkan, упрощая дескрипторы драйверов, что снижает издержки драйверов и повышает производительность «до метала».
Таким образом, Mali-G72 и Valhall вносят важные изменения в Bifrost, которые обещают значительное повышение производительности для игровых и машинных приложений. Важно отметить, что дизайн соответствует тем же бюджетам на электроэнергию и площадь, что и Bifrost, что гарантирует, что мобильные устройства будут иметь более высокую производительность, не беспокоясь о расходах на тепло, электроэнергию и кремний. Исходя из прогнозов производительности, Mali-G77 должен быть в состоянии дать Adreno следующего поколения Qualcomm хороший результат за свои деньги.