Микроархитектура графического процессора от Nvidia
Pascal — кодовое название микроархитектуры графического процессора , разработанной Nvidia в качестве преемника архитектуры Maxwell . Архитектура была впервые представлена в апреле 2016 года с выпуском Tesla P100 (GP100) 5 апреля 2016 года и в основном используется в серии GeForce 10 , начиная с GeForce GTX 1080 и GTX 1070 (обе используют графический процессор GP104), которые были выпущены 27 мая 2016 года и 10 июня 2016 года соответственно. Pascal был изготовлен с использованием 16-нм процесса FinFET компании TSMC [1], а затем 14 -нм процесса FinFET компании Samsung [2] .
Архитектура названа в честь французского математика и физика XVII века Блеза Паскаля .
В апреле 2019 года компания Nvidia включила программную реализацию DirectX Raytracing на картах на базе Pascal, начиная с GTX 1060 6 ГБ, а также на картах серии 16. До этого момента эта функция была доступна только на картах серии RTX на базе Turing. [3] [4]
Подробности
В марте 2014 года Nvidia объявила, что преемником Maxwell станет микроархитектура Pascal; анонсирована 6 мая 2016 года и выпущена 27 мая того же года. Tesla P100 (чип GP100) имеет другую версию архитектуры Pascal по сравнению с GTX GPU (чип GP104). Шейдерные блоки в GP104 имеют дизайн, подобный Maxwell . [5]
Архитектурные усовершенствования архитектуры GP100 включают следующее: [6] [7] [8]
В Pascal SM (потоковый мультипроцессор) состоит из 64–128 ядер CUDA, в зависимости от того, является ли он GP100 или GP104. Maxwell содержал 128 ядер CUDA на SM; Kepler имел 192, Fermi 32 и Tesla 8. GP100 SM разделен на два блока обработки, каждый из которых имеет 32 ядра CUDA одинарной точности, буфер инструкций, планировщик варпа, 2 блока отображения текстур и 2 блока диспетчеризации.
Память с высокой пропускной способностью 2 — некоторые карты оснащены 16 ГиБ HBM2 в четырех стеках с общей шириной шины 4096 бит и пропускной способностью памяти 720 ГБ/с.
Унифицированная память — архитектура памяти, в которой центральный процессор и графический процессор могут получать доступ как к основной системной памяти, так и к памяти видеокарты с помощью технологии, называемой «Page Migration Engine».
NVLink — шина с высокой пропускной способностью между ЦП и ГП, а также между несколькими ГП. Позволяет достичь гораздо более высоких скоростей передачи данных, чем те, которые достигаются при использовании PCI Express; по оценкам, обеспечивает от 80 до 200 ГБ/с. [9] [10]
16-битные ( FP16 ) операции с плавающей точкой (в просторечии «половинной точности») могут выполняться в два раза быстрее 32-битных операций с плавающей точкой («одинарной точности») [11] , а 64-битные операции с плавающей точкой (в просторечии «двойной точности») выполняются в два раза быстрее 32-битных операций с плавающей точкой. [12]
Больше регистров — в два раза больше регистров на ядро CUDA по сравнению с Maxwell.
Больше общей памяти.
Система динамического распределения нагрузки. [13] Это позволяет планировщику динамически регулировать объем GPU, назначенный нескольким задачам, гарантируя, что GPU останется насыщенным работой, за исключением случаев, когда больше нет работы, которую можно безопасно распределить. [13] Поэтому Nvidia безопасно включила асинхронные вычисления в драйвере Pascal. [13]
Прерывание на уровне инструкций и потоков. [14]
Архитектурные усовершенствования архитектуры GP104 включают следующее: [5]
Вычислительные возможности CUDA 6.1.
GDDR5X — новый стандарт памяти, поддерживающий скорость передачи данных 10 Гбит/с, обновленный контроллер памяти. [15]
Одновременная мультипроекция — создание нескольких проекций одного геометрического потока, поступающего в движок SMP из этапов шейдера выше по потоку. [16]
Улучшенный интерфейс SLI — интерфейс SLI с более высокой пропускной способностью по сравнению с предыдущими версиями.
Набор функций PureVideo H Аппаратное декодирование видео HEVC Main10 (10 бит), Main12 (12 бит) и аппаратное декодирование VP9.
Поддержка HDCP 2.2 для воспроизведения и потоковой передачи контента с защитой 4K DRM (Maxwell GM200 и GM204 не поддерживают HDCP 2.2, GM206 поддерживает HDCP 2.2). [17]
Вытеснение на уровне инструкций. [14] В графических задачах драйвер ограничивает вытеснение на уровне пикселей, поскольку задачи по пикселям обычно завершаются быстро, а накладные расходы на выполнение вытеснения на уровне пикселей ниже, чем вытеснение на уровне инструкций (которое является дорогим). [14] Вычислительные задачи получают вытеснение на уровне потоков или инструкций, [14] поскольку они могут занять больше времени для завершения, и нет никаких гарантий, когда вычислительная задача завершится. Поэтому драйвер включает дорогостоящее вытеснение на уровне инструкций для этих задач. [14]
Обзор
Графический процессор кластера
Чип разделен на графические процессорные кластеры (GPC). Для чипов GP104 GPC охватывает 5 SM.
Потоковый мультипроцессор "Паскаль"
«Потоковый мультипроцессор» аналогичен вычислительному блоку AMD . SM включает в себя 128 ALU одинарной точности («ядра CUDA») на чипах GP104 и 64 ALU одинарной точности на чипах GP100. В то время как все версии CU состоят из 64 шейдерных процессоров (т. е. 4 векторных блока SIMD, каждый шириной 16 полос), Nvidia экспериментировала с очень разным количеством ядер CUDA:
На Fermi 1 SM объединяет 32 шейдерных процессора одинарной точности (FP32)
На Kepler 1 SM объединяет 192 шейдерных процессора одинарной точности (FP32) и 64 блока двойной точности (FP64) (на GPU GK110)
На Maxwell 1 SM объединяет 128 шейдерных процессоров одинарной точности (FP32)
На Паскале это зависит:
На GP100 1 SM объединяет 64 шейдерных процессора одинарной точности (FP32) и также 32 шейдерных процессора двойной точности (FP64), обеспечивая соотношение 2:1 пропускной способности одинарной и двойной точности. GP100 использует более гибкие ядра FP32, которые способны обрабатывать одно число одинарной точности или два числа половинной точности в двухэлементном векторе. [18] Это предназначено для лучшего обслуживания задач машинного обучения .
В GP104 1 SM объединяет 128 ALU одинарной точности, 4 ALU двойной точности (обеспечивающие соотношение 32:1) и одно ALU половинной точности, которое содержит вектор из двух плавающих элементов половинной точности, которые могут выполнять одну и ту же инструкцию на обоих элементах, обеспечивая соотношение 64:1, если одна и та же инструкция используется на обоих элементах.
Полиморф-движок 4.0
Polymorph Engine версии 4.0 — это блок, отвечающий за тесселяцию . Он функционально соответствует геометрическому процессору AMD . Он был перемещен из шейдерного модуля в TPC, чтобы позволить одному Polymorph engine питать несколько SM в пределах TPC. [19]
Чипсы
GP100: ускоритель графического процессора Tesla P100 от Nvidia нацелен на приложения GPGPU , такие как вычисления двойной точности FP64 и глубокое обучение, использующее FP16. Он использует память HBM2 . [20] Quadro GP100 также использует графический процессор GP100.
GP102: Этот графический процессор используется в Titan Xp, [21] Titan X Pascal [22] и GeForce GTX 1080 Ti. Он также используется в Quadro P6000 [23] и Tesla P40. [24]
GP104: этот графический процессор используется в GeForce GTX 1070, GTX 1070 Ti, GTX 1080 и некоторых GTX 1060 6 ГБ. У GTX 1070 включено 15/20, а у GTX 1070 Ti — 19/20 SM; обе используют память GDDR5. GTX 1080 — полностью разблокированный чип, использующий память GDDR5X. Некоторые GTX 1060 6 ГБ используют GP104 с включенными 10/20 SM и памятью GDDR5X. [25] Он также используется в Quadro P5000, Quadro P4000, Quadro P3200 (мобильные приложения) и Tesla P4.
GP106: Этот графический процессор используется в GeForce GTX 1060 с памятью GDDR5 [26] . [27] [28] Он также используется в Quadro P2000.
GP107: Этот графический процессор используется в GeForce GTX 1050 и 1050 Ti. Он также используется в Quadro P1000, Quadro P600, Quadro P620 и Quadro P400.
GP108: этот графический процессор используется в GeForce GT 1010 и GeForce GT 1030.
Производительность
Теоретическая вычислительная мощность графического процессора Pascal с одинарной точностью в GFLOPS вычисляется как 2 × операций на инструкцию FMA на ядро CUDA за цикл × количество ядер CUDA × тактовая частота ядра (в ГГц).
Теоретическая вычислительная мощность графического процессора Pascal при обработке чисел двойной точности составляет 1/2 от производительности при обработке чисел одинарной точности на Nvidia GP100 и 1/32 от Nvidia GP102, GP104, GP106, GP107 и GP108.
Теоретическая мощность обработки половинной точности графического процессора Pascal составляет 2× от производительности одинарной точности на GP100 [12] и 1/64 на GP104, GP106, GP107 и GP108. [18]
^ "NVIDIA 7nm Next-Gen-GPUs To Be Built By TSMC". Wccftech . 24 июня 2018 г. Получено 6 июля 2019 г.
^ "Samsung оптически сжимает NVIDIA "Pascal" до 14 нм" . Получено 13 августа 2016 г.
^ «Ускорение экосистемы трассировки лучей в реальном времени: DXR для GeForce RTX и GeForce GTX». NVIDIA .
^ «Трассировка лучей появилась на графических процессорах Nvidia GTX: как ее включить». 11 апреля 2019 г.
^ ab "NVIDIA GeForce GTX 1080" (PDF) . International.download.nvidia.com . Получено 15 сентября 2016 г. .
^ Гупта, Сумит (21 марта 2014 г.). «NVIDIA обновляет дорожную карту GPU; анонсирует Pascal». Blogs.nvidia.com . Получено 25 марта 2014 г. .
^ "Parallel Forall". NVIDIA Developer Zone . Devblogs.nvidia.com. Архивировано из оригинала 26 марта 2014 г. Получено 25 марта 2014 г.
^ "NVIDIA Tesla P100" (PDF) . International.download.nvidia.com . Получено 15 сентября 2016 г. .
^ «Внутри Pascal: новейшая вычислительная платформа NVIDIA». 5 апреля 2016 г.
↑ Денис Фоли (25 марта 2014 г.). «NVLink, Pascal и стековая память: удовлетворение аппетита к большим данным». nvidia.com . Получено 7 июля 2014 г.
^ "Архитектура графических процессоров NVIDIA следующего поколения Pascal обеспечивает 10-кратное ускорение для приложений глубокого обучения". Официальный блог NVIDIA . Получено 23 марта 2015 г.
^ ab Smith, Ryan (5 апреля 2015 г.). "NVIDIA анонсирует Tesla P100 Accelerator - Pascal GP100 Power for HPC". AnandTech . Получено 27 мая 2016 г. Каждый из этих SM также содержит 32 ядра FP64 CUDA, что дает нам 1/2 скорости для FP64, а новым для архитектуры Pascal является возможность упаковать 2 операции FP16 внутри одного ядра FP32 CUDA при правильных обстоятельствах.
^ abc Smith, Ryan (20 июля 2016 г.). «Обзор NVIDIA GeForce GTX 1080 и GTX 1070 Founders Editions: начало поколения FinFET». AnandTech . стр. 9 . Получено 21 июля 2016 г. .
^ abcde Смит, Райан (20 июля 2016 г.). «Обзор NVIDIA GeForce GTX 1080 и GTX 1070 Founders Editions: начало поколения FinFET». AnandTech . стр. 10 . Получено 21 июля 2016 г. .
^ "GTX 1080 Graphics Card". GeForce . Получено 15 сентября 2016 г. .
^ Карботт, Кевин (17 мая 2016 г.). "Nvidia GeForce GTX 1080 Simultaneous Multi-Projection & Async Compute". Tomshardware.com . Получено 15 сентября 2016 г. .
^ "Nvidia Pascal HDCP 2.2". Страница оборудования Nvidia . Получено 8 мая 2016 г.
^ ab Smith, Ryan (20 июля 2016 г.). «Обзор NVIDIA GeForce GTX 1080 и GTX 1070 Founders Editions: начало поколения FinFET». AnandTech . стр. 5 . Получено 21 июля 2016 г. .
^ Смит, Райан (20 июля 2016 г.). «Обзор NVIDIA GeForce GTX 1080 и GTX 1070 Founders Editions: начало поколения FinFET». AnandTech . стр. 4 . Получено 21 июля 2016 г. .
^ Харрис, Марк (5 апреля 2016 г.). «Внутри Pascal: новейшая вычислительная платформа NVIDIA». Parallel Forall . Nvidia . Получено 3 июня 2016 г. .
^ "Видеокарта NVIDIA TITAN Xp с архитектурой Pascal". NVIDIA .
^ "Видеокарта NVIDIA TITAN X с Pascal". GeForce . Получено 15 сентября 2016 г. .
^ "Новая графика Quadro на архитектуре Pascal". NVIDIA . Получено 15 сентября 2016 г. .
^ "Ускорение рабочих нагрузок центра обработки данных с помощью графических процессоров". NVIDIA . Получено 15 сентября 2016 г.
^ Zhiye Liu (22 октября 2018 г.). "Nvidia GeForce GTX 1060 получает GDDR5X в пятом обновлении". Tom's Hardware . Получено 2 февраля 2024 г.
^ "Видеокарты NVIDIA GeForce 10 серии". NVIDIA .
^ "NVIDIA GeForce GTX 1060 выйдет 7 июля". VideoCardz.com . 29 июня 2016 г. Получено 15 сентября 2016 г.
^ "GTX 1060 Graphics Cards". GeForce . Получено 15 сентября 2016 г. .
^ Смит, Райан (12 ноября 2012 г.). «NVIDIA запускает Tesla K20 и K20X: GK110 наконец-то появился». AnandTech . стр. 3 . Получено 24 июля 2016 г. .
^ abcdef Nvidia (1 сентября 2015 г.). "Руководство по программированию CUDA C" . Получено 24 июля 2016 г.
↑ abcdefghijklmno Триоле, Дэмиен (24 мая 2016 г.). «Nvidia GeForce GTX 1080, лучший 16-нм графический процессор в тесте!». Hardware.fr (на французском языке). п. 2 . Проверено 24 июля 2016 г.
^ ab Smith, Ryan (26 января 2015 г.). "GeForce GTX 970: исправление спецификаций и исследование распределения памяти". AnandTech . стр. 1 . Получено 24 июля 2016 г. .
^ "Дата выпуска NVIDIA Turing". Techradar . 2 февраля 2021 г.
^ Смит, Райан (22 марта 2022 г.). «Анонсирована архитектура графического процессора NVIDIA Hopper и ускоритель H100: работа умнее и сложнее». AnandTech.
^ Смит, Райан (14 мая 2020 г.). «NVIDIA Ampere Unleashed: NVIDIA анонсирует новую архитектуру графического процессора, графический процессор A100 и ускоритель». AnandTech.
^ "Протестирована NVIDIA Tesla V100: почти невероятная мощность графического процессора". TweakTown . 17 сентября 2017 г.