stringtranslate.com

Хоппер (микроархитектура)

Hopper — это микроархитектура графического процессора (GPU), разработанная Nvidia . Он предназначен для центров обработки данных и является параллельным Ada Lovelace .

Архитектура Hopper , названная в честь ученого-компьютерщика и контр-адмирала ВМС США Грейс Хоппер , просочилась в ноябре 2019 года и официально была представлена ​​в марте 2022 года. Она совершенствует свои предшественники, микроархитектуры Turing и Ampere , с новым потоковым мультипроцессором и более быстрой подсистемой памяти. .

Архитектура

Графический процессор Nvidia Hopper H100 реализован с использованием процесса TSMC 4N с 80 миллиардами транзисторов. Он состоит из 144 потоковых мультипроцессоров . [1] В SXM5 Nvidia Hopper H100 обеспечивает лучшую производительность, чем PCIe . [2]

Потоковый мультипроцессор

Потоковые мультипроцессоры для Hopper улучшают микроархитектуры Turing и Ampere , хотя максимальное количество одновременных деформаций на один потоковый мультипроцессор (SM) остается одинаковым для архитектур Ampere и Hopper — 64. [3] Архитектура Hopper обеспечивает тензорный ускоритель памяти ( TMA), который поддерживает двунаправленную асинхронную передачу памяти между общей и глобальной памятью. [4] В рамках ТМА приложения могут передавать до 5D тензоров. При записи из общей памяти в глобальную память можно использовать поэлементное сокращение и побитовые операторы, избегая регистров и инструкций SM, позволяя пользователям писать специализированные коды деформации. ТМА подвергается воздействию через cuda::memcpy_async[5]

При распараллеливании приложений разработчики могут использовать кластеры блоков потоков . Блоки потоков могут выполнять атомарные операции в общей памяти других блоков потоков в своем кластере, иначе известной как распределенная общая память . Распределенная общая память может использоваться SM одновременно с кэшем L2 ; при использовании для передачи данных между SM это может использовать объединенную полосу пропускания распределенной общей памяти и L2. Максимальный размер портативного кластера — 8, хотя Nvidia Hopper H100 может поддерживать размер кластера 16 с помощью этой cudaFuncAttributeNonPortableClusterSizeAllowedфункции, возможно, за счет уменьшения количества активных блоков. [6] При многоадресной рассылке L2 и распределенной общей памяти требуемая полоса пропускания для чтения и записи динамической памяти с произвольным доступом снижается. [7]

Hopper отличается улучшенной пропускной способностью формата одинарной точности с плавающей запятой (FP32): вдвое больше операций FP32 за цикл на SM, чем у его предшественника. Кроме того, в архитектуре Хоппера добавлена ​​поддержка новых инструкций, включая алгоритм Смита-Уотермана . [6] Как и Ampere, поддерживается арифметика TensorFloat-32 (TF-32). Шаблон сопоставления для обеих архитектур идентичен. [8]

Память

Nvidia Hopper H100 поддерживает память HBM3 и HBM2e объемом до 80 ГБ; Система памяти HBM3 поддерживает скорость 3 ТБ/с, что на 50% больше, чем у Nvidia Ampere A100, которая обеспечивает скорость 2 ТБ/с. Во всей архитектуре были увеличены емкость и пропускная способность кэша L2. [9]

Hopper позволяет вычислительным ядрам CUDA использовать автоматическое встроенное сжатие, в том числе при индивидуальном выделении памяти, что обеспечивает доступ к памяти с более высокой пропускной способностью. Эта функция не увеличивает объем памяти, доступной приложению, поскольку данные (и, следовательно, их сжимаемость ) могут быть изменены в любое время. Компрессор автоматически выберет один из нескольких алгоритмов сжатия. [9]

Nvidia Hopper H100 увеличивает емкость объединенного кэша L1, кэша текстур и общей памяти до 256 КБ. Как и его предшественники, он объединяет кэши L1 и текстур в единый кэш, предназначенный для использования в качестве объединяющего буфера. Атрибут cudaFuncAttributePreferredSharedMemoryCarveoutможет использоваться для определения выделения кэша L1. Hopper представляет усовершенствования NVLink нового поколения, обеспечивающие более высокую общую пропускную способность связи. [10]

Домены синхронизации памяти

Некоторые приложения CUDA могут испытывать помехи при выполнении операций ограничения или очистки из-за упорядочивания памяти. Поскольку графический процессор не может знать, какие записи гарантированы, а какие видны по случайному времени, он может ожидать ненужных операций с памятью, тем самым замедляя операции ограничения или очистки. Например, когда ядро ​​выполняет вычисления в памяти графического процессора, а параллельное ядро ​​осуществляет связь с одноранговым узлом, локальное ядро ​​сбрасывает свои записи, что приводит к замедлению записи NVLink или PCIe . В архитектуре Hopper графический процессор может уменьшить забрасывание сети за счет операции ограждения. [11]

Инструкции DPX

Интерфейс прикладного программирования математических приложений (API) архитектуры Хоппера предоставляет функции в SM, такие как __viaddmin_s16x2_relu, который выполняет полуслово . В алгоритме Смита-Уотермана можно использовать трехпозиционный минимум или максимум, за которым следует привязка к нулю. [12] Аналогичным образом, Хоппер ускоряет реализацию алгоритма Нидлмана-Вунша . [13]__vimax3_s16x2_relu

Трансформаторный двигатель

В архитектуре Hopper используется двигатель-трансформер. [14]

Энергоэффективность

Форм-фактор SXM5 H100 имеет расчетную тепловую мощность (TDP) 700 Вт . Что касается асинхронности, архитектура Hopper может достичь высокой степени использования и, следовательно, иметь более высокую производительность на ватт. [15]

История

В ноябре 2019 года известный аккаунт в Твиттере опубликовал твит, в котором говорилось, что следующая архитектура после Ampere будет называться Hopper, в честь ученого-компьютерщика и контр-адмирала ВМС США Грейс Хоппер , одного из первых программистов Гарвардского Mark I. В сообщении говорилось, что Hopper будет основан на конструкции многочипового модуля , что приведет к увеличению производительности при меньших потерях. [16]

Во время Nvidia GTC 2022 года Nvidia официально анонсировала Hopper. [17]

Рекомендации

Цитаты

  1. ^ Эльстер и Хаугдал, 2022, с. 4.
  2. ^ Nvidia 2023c, с. 20.
  3. ^ Nvidia 2023b, с. 9.
  4. ^ Фудзита и др. 2023, с. 6.
  5. ^ Nvidia 2023b, с. 9-10.
  6. ^ ab Nvidia 2023b, с. 10.
  7. ^ Вишал Мехта (сентябрь 2022 г.). Модель программирования CUDA для бункерной архитектуры. Санта-Клара: NVIDIA . Проверено 29 мая 2023 г.
  8. ^ Фудзита и др. 2023, с. 4.
  9. ^ ab Nvidia 2023b, с. 11.
  10. ^ Nvidia 2023b, с. 12.
  11. ^ Nvidia 2023a, с. 44.
  12. ^ Тирумала, Аджай; Итон, Джо; Тирлик, Мэтт (8 декабря 2022 г.). «Повышение производительности динамического программирования с помощью инструкций NVIDIA Hopper GPU DPX». Нвидия . Проверено 29 мая 2023 г.
  13. Харрис, Дион (22 марта 2022 г.). «Архитектура графического процессора NVIDIA Hopper ускоряет динамическое программирование до 40 раз с использованием новых инструкций DPX». Нвидия . Проверено 29 мая 2023 г.
  14. Сальватор, Дэйв (22 марта 2022 г.). «Трансформаторный двигатель H100 ускоряет обучение искусственного интеллекта, обеспечивая до 6 раз более высокую производительность без потери точности». Нвидия . Проверено 29 мая 2023 г.
  15. ^ Эльстер и Хаугдал, 2022, с. 8.
  16. Пирзада, Усман (16 ноября 2019 г.). «Утечка графического процессора NVIDIA Hopper следующего поколения - на основе конструкции MCM, запуск после Ampere» . Wccftech . Проверено 29 мая 2023 г.
  17. Винсент, Джеймс (22 марта 2022 г.). «Nvidia представляет графический процессор H100 для искусственного интеллекта и обещает «самый быстрый в мире суперкомпьютер для искусственного интеллекта»». Грань . Проверено 29 мая 2023 г.

Цитируемые работы

дальнейшее чтение