Паскаль (микроархитектура) - Pascal (microarchitecture)

Nvidia Pascal
NVIDIA-GTX-1070-FoundersEdition-FL.jpg
GTX 1070, вторая коммерчески доступная карта, использующая архитектуру Pascal.
Дата выхода 5 апреля 2016 г.
Процесс изготовления
История
Предшественник Максвелл
Преемник

Паскаль - это кодовое название микроархитектуры графического процессора, разработанной Nvidia в качестве преемника архитектуры Maxwell . Архитектура была впервые представлена ​​в апреле 2016 года с выпуском Tesla P100 (GP100) 5 апреля 2016 года и в основном используется в серии GeForce 10 , начиная с GeForce GTX 1080 и GTX 1070 (в обеих используется графический процессор GP104). , которые были выпущены 17 мая 2016 г. и 10 июня 2016 г. соответственно. Паскаль был изготовлен с использованием TSMC «с 16 нм FinFET процесс, а затем Samsung » ы 14 нм процесс FinFET.    

Архитектура названа в честь французского математика и физика 17 века Блеза Паскаля .

18 марта 2019 года Nvidia объявила, что в драйвере, который должен выйти в апреле 2019 года, они включат DirectX Raytracing на картах на основе Pascal, начиная с GTX 1060 6 ГБ, а в картах серии 16 - функция, зарезервированная для карт на основе Тьюринга. Серия RTX до этого момента.

Подробности

Снимок графического процессора GP102 внутри видеокарт GeForce GTX 1080 Ti
Снимок графического процессора GP106 внутри видеокарт GTX 1060

В марте 2014 года Nvidia объявила, что преемником Maxwell станет микроархитектура Pascal; объявлено 6 мая 2016 г. и выпущено 27 мая того же года. Tesla P100 (чип GP100) имеет другую версию архитектуры Pascal по сравнению с графическими процессорами GTX (чип GP104). В шейдерных блоках в GP104 имеет Maxwell -like дизайна.

Архитектурные улучшения архитектуры GP100 включают следующее:

  • В Паскале SM (потоковый мультипроцессор) состоит из 64-128 ядер CUDA, в зависимости от того, GP100 это или GP104. Максвелл упаковал 128, Kepler 192, Fermi 32 и Tesla только 8 ядер CUDA в SM; GP100 SM разделен на два блока обработки, каждый из которых имеет 32 ядра CUDA одинарной точности, буфер команд, планировщик деформации, 2 модуля отображения текстуры и 2 модуля диспетчеризации.
  • Возможности вычислений CUDA 6.1.
  • Память с высокой пропускной способностью 2 - некоторые карты содержат 16 ГиБ HBM2 в четырех стеках с общей 4096-битной шиной с пропускной способностью памяти 720 ГБ / с.
  • Унифицированная память - это архитектура памяти, в которой ЦП и графический процессор могут получать доступ как к основной системной памяти, так и к памяти видеокарты с помощью технологии, называемой «Механизм миграции страниц».
  • NVLink - шина с высокой пропускной способностью между процессором и графическим процессором, а также между несколькими графическими процессорами. Обеспечивает гораздо более высокие скорости передачи, чем те, которые достигаются при использовании PCI Express; по оценкам, обеспечивает от 80 до 200 ГБ / с.
  • 16-битные ( FP16 ) операции с плавающей запятой (в просторечии «половинная точность») могут выполняться в два раза быстрее, чем 32-битные операции с плавающей запятой («одинарная точность») и 64-битные операции с плавающей запятой (в просторечии «двойная точность»). precision ") выполняется вдвое быстрее, чем 32-разрядные операции с плавающей запятой.
  • Больше регистров - вдвое больше регистров на ядро ​​CUDA по сравнению с Maxwell.
  • Больше общей памяти.
  • Система планирования динамической балансировки нагрузки. Это позволяет планировщику динамически регулировать количество графического процессора, назначенного нескольким задачам, гарантируя, что графический процессор остается загруженным работой, за исключением случаев, когда больше нет работы, которую можно безопасно распределить для распределения. Поэтому Nvidia безопасно включила асинхронные вычисления в драйвере Паскаля.
  • Вытеснение на уровне инструкций и потоков.

Архитектурные улучшения архитектуры GP104 включают следующее:

  • Возможности вычислений CUDA 6.1.
  • GDDR5X - новый стандарт памяти с поддержкой скорости передачи данных 10 Гбит / с, обновленный контроллер памяти.
  • Одновременная мульти-проекция - создание нескольких проекций одного геометрического потока, когда он поступает в движок SMP из вышестоящих этапов шейдера.
  • DisplayPort 1.4, HDMI 2.0b.
  • Четвертое поколение Delta Color Compression.
  • Улучшенный интерфейс SLI - интерфейс SLI с большей пропускной способностью по сравнению с предыдущими версиями.
  • PureVideo Feature Set H аппаратное декодирование видео HEVC Main10 (10 бит), Main12 (12 бит) и аппаратное декодирование VP9.
  • Поддержка HDCP 2.2 для воспроизведения и потоковой передачи контента с защитой 4K DRM (Maxwell GM200 и GM204 не поддерживают HDCP 2.2, GM206 поддерживает HDCP 2.2).
  • NVENC HEVC Main10 10-битное аппаратное кодирование.
  • GPU Boost 3.0.
  • Вытеснение на уровне инструкций. В графических задачах драйвер ограничивает вытеснение на уровне пикселей, поскольку пиксельные задачи обычно заканчиваются быстро, а накладные расходы на выполнение вытеснения на уровне пикселей ниже, чем вытеснение на уровне инструкций (что дорого). Вычислительные задачи получают приоритетное прерывание на уровне потоков или инструкций, поскольку для их завершения может потребоваться больше времени, и нет никаких гарантий относительно того, когда вычислительная задача завершится. Таким образом, драйвер позволяет выполнять эти задачи с помощью дорогостоящего прерывания на уровне инструкций.

Обзор

Кластер графического процессора

Чип разделен на кластеры графических процессоров (GPC). Для микросхем GP104 GPC включает в себя 5 SM.

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

«Многопроцессор потоковой передачи» соответствует вычислительному блоку AMD . SMP включает 128 ALU одинарной точности («ядра CUDA») на микросхемах GP104 и 64 ALU одинарной точности на микросхемах GP100.

То, что AMD называет CU (вычислительным блоком), можно сравнить с тем, что Nvidia называет SM (потоковый мультипроцессор). В то время как все версии CU состоят из 64 шейдерных процессоров (т.е. 4 векторных модуля SIMD (каждый по 16 полос) = 64), Nvidia (регулярно называя шейдерные процессоры «ядрами CUDA») экспериментировала с очень разными числами:

  • На Tesla 1 SM объединено 8 шейдерных процессоров с одинарной точностью (FP32)
  • На Fermi 1 SM объединены 32 шейдерных процессора одиночной точности (FP32)
  • В Kepler 1 SM объединены 192 шейдерных процессора с одинарной точностью (FP32), а также 64 модуля с двойной точностью (FP64) (по крайней мере, графические процессоры GK110)
  • В Maxwell 1 SM объединено 128 шейдерных процессоров с одинарной точностью (FP32)
  • От Паскаля это зависит:
    • В GP100 1 SM объединяет 64 шейдерных процессора с одинарной точностью (FP32) и 32 процессора с двойной точностью (FP64), обеспечивая соотношение пропускной способности с одинарной и двойной точностью 2: 1. В GP100 используются более гибкие ядра FP32, которые могут обрабатывать одно или два числа половинной точности в двухэлементном векторе. Nvidia намеревается решить с их помощью вычисление алгоритмов, связанных с глубоким обучением.
    • На GP104 1 SM объединяет 128 ALU одинарной точности, 4 ALU двойной точности, обеспечивающих соотношение 32: 1, и один ALU половинной точности, который содержит вектор из двух чисел с плавающей запятой половинной точности, которые могут выполнять одну и ту же инструкцию для обоих чисел с плавающей запятой, обеспечивая соотношение 64: 1, если на обоих элементах используется одна и та же инструкция.

Полиморф-двигатель 4.0

Polymorph Engine версии 4.0 - это модуль, отвечающий за тесселяцию . Функционально он соответствует геометрическому процессору AMD . Он был перемещен из модуля шейдера в TPC, чтобы позволить одному движку Polymorph обрабатывать несколько SM в TPC.

Чипсы

  • GP100: ускоритель графического процессора Nvidia Tesla P100 предназначен для приложений GPGPU, таких как вычисления с двойной точностью FP64 и обучение глубокому обучению с использованием FP16. Он использует память HBM2 . Quadro GP100 также использует графический процессор GP100.
  • GP102: этот графический процессор используется в TITAN Xp, Titan X и GeForce GTX 1080 Ti. Он также используется в Quadro P6000 и Tesla P40.
  • GP104: этот графический процессор используется в GeForce GTX 1070, GTX 1070 Ti и GTX 1080. GTX 1070 имеет 15/20, а GTX 1070 Ti - 19/20 задействованных SM. Оба подключены к памяти GDDR5, а GTX 1080 является полноценным чипом и подключается к памяти GDDR5X. Он также используется в Quadro P5000, Quadro P4000 и Tesla P4.
  • GP106: этот графический процессор используется в GeForce GTX 1060 с памятью GDDR5 / GDDR5X. Он также используется в Quadro P2000.
  • GP107: этот графический процессор используется в GeForce GTX 1050 Ti и GeForce GTX 1050. Он также используется в Quadro P1000, Quadro P600, Quadro P620 и Quadro P400.
  • GP108: этот графический процессор используется в GeForce GT 1010 и GeForce GT 1030.

На микросхеме GP104 SM состоит из 128 ALU одинарной точности («ядра CUDA»), на GP100 - из 64 ALU одинарной точности. Из-за разной организации микросхем, например количества ALU двойной точности, теоретическая производительность GP100 при двойной точности составляет половину от теоретической производительности одинарной точности; соотношение 1/32 для микросхемы GP104.

Сравнительная таблица некоторых микросхем Kepler, Maxwell и Pascal
GK104 GK110 GM204 (GTX 970) GM204 (GTX 980) GM200 GP104 GP100
Выделенный кеш текстур для каждого SM 48 КБ N / A N / A N / A N / A N / A N / A
Кэш текстур (графики или вычислений) или данных только для чтения (только вычисления) на SM N / A 48 КБ N / A N / A N / A N / A N / A
Выбираемая программистом разделяемая память / разделы L1 на SM 48 КБ разделяемой памяти + 16 КБ кеш-памяти L1 (по умолчанию) 48 КБ разделяемой памяти + 16 КБ кеш-памяти L1 (по умолчанию) N / A N / A N / A N / A N / A
32 КБ общей памяти + 32 КБ кэш-памяти L1 32 КБ общей памяти + 32 КБ кэш-памяти L1
16 КБ общей памяти + 48 КБ кэш-памяти L1 16 КБ общей памяти + 48 КБ кэш-памяти L1
Единый кэш L1 / кэш текстур для каждого SM N / A N / A 48 КБ 48 КБ 48 КБ 48 КБ 24 КБ
Выделенная разделяемая память на SM N / A N / A 96 КБ 96 КБ 96 КБ 96 КБ 64 КБ
Кэш L2 на чип 512 КБ 1536 КБ 1792 КБ 2048 КБ 3072 КБ 2048 КБ 4096 КБ

Представление

Теоретическая мощность обработки с одинарной точностью графического процессора Pascal в GFLOPS вычисляется как 2 X (операций на инструкцию FMA на ядро ​​CUDA за цикл) × количество ядер CUDA × тактовая частота ядра (в ГГц).

Теоретическая мощность обработки двойной точности графического процессора Pascal составляет 1/2 от производительности одинарной точности на Nvidia GP100 и 1/32 от производительности Nvidia GP102, GP104, GP106, GP107 и GP108.

Теоретическая вычислительная мощность графического процессора Pascal с половинной точностью в 2 раза выше производительности одинарной точности на GP100 и 1/64 на GP104, GP106, GP107 и GP108.

Преемник

На смену архитектуре Pascal в 2017 г. пришла компания Volta на рынке высокопроизводительных вычислений , облачных вычислений и беспилотных автомобилей , а в 2018 г. - компания Turing на рынке потребительских товаров и бизнеса.

Смотрите также

использованная литература