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

Микроархитектура графического процессора от Nvidia
Кеплер
Запущен3 апреля 2012 г. (2012-04-03)
РазработаноНвидиа
Изготовлено
Процесс изготовленияTSMC 28 нм
Серия продуктов
Рабочий стол
Профессионал/рабочая станция
Сервер/центр обработки данных
Технические характеристики
Кэш L116  КБ (на SM)
кэш L2До 512  КБ
Поддержка памятиGDDR5
поддержка PCIePCIe 2.0
PCIe 3.0
Поддерживаемые графические API
DirectXDirectX 12 Ultimate (уровень возможностей 11_0)
Модель шейдераМодель шейдера 6.5
ВулканВулкан 1.2
Медиа-движок
Кодировать кодекиH.264
Декодировать кодеки
Поддерживаемые кодировщикиНВЕНК
Выходы дисплеяDVI
DisplayPort 1.2
HDMI 1.4a
История
ПредшественникФерми
ПреемникМаксвелл
Портрет Иоганна Кеплера, эпонима архитектуры

Kepler — кодовое название микроархитектуры графического процессора , разработанной Nvidia , впервые представленной в розничной продаже в апреле 2012 года [1] в качестве преемника микроархитектуры Fermi . Kepler была первой микроархитектурой Nvidia, ориентированной на энергоэффективность . Большинство графических процессоров серий GeForce 600 , большинство серий GeForce 700 и некоторые серии GeForce 800M были основаны на Kepler, все они производились по 28 нм. Kepler нашел применение в GK20A, компоненте графического процессора Tegra K1 SoC , а также в сериях Quadro Kxxx, Quadro NVS 510 и вычислительных модулях Tesla .

За Kepler последовала микроархитектура Maxwell , которая использовалась наряду с Maxwell в сериях GeForce 700 и GeForce 800M .

Архитектура названа в честь Иоганна Кеплера , немецкого математика и ключевой фигуры научной революции XVII века .

Обзор

Снимок кристалла графического процессора GK110 A1, обнаруженного внутри видеокарт GeForce GTX Titan

Целью предыдущей архитектуры Nvidia было проектирование, ориентированное на повышение производительности вычислений и тесселяции. С архитектурой Kepler Nvidia сосредоточилась на эффективности, программируемости и производительности. [2] [3] Цель эффективности была достигнута за счет использования унифицированных часов GPU, упрощенного статического планирования инструкций и большего акцента на производительности на ватт. [4] Отказавшись от шейдерных часов, которые использовались в предыдущих конструкциях GPU, эффективность увеличилась, хотя для достижения более высоких уровней производительности требуются дополнительные ядра. Это связано не только с тем, что ядра более экономичны (два ядра Kepler используют 90% мощности одного ядра Fermi, согласно данным Nvidia), но и с тем, что переход на унифицированную схему часов GPU обеспечивает 50%-ное снижение энергопотребления в этой области. [5]

Цель программируемости была достигнута с помощью Hyper-Q, Dynamic Parallelism и нескольких новых функциональных возможностей Compute Capabilities 3.x от Kepler. С этим, более высокая загрузка GPU и упрощенное управление кодом были достигнуты с GK GPU, что обеспечивает большую гибкость в программировании для Kepler GPU. [6]

Наконец, с целью повышения производительности, дополнительными ресурсами выполнения (больше ядер CUDA, регистров и кэша) и способностью Kepler достигать тактовой частоты памяти 7 ГГц, производительность Kepler повышается по сравнению с предыдущими графическими процессорами Nvidia. [5] [7]

Функции

GPU серии GK содержит функции как старого поколения Fermi, так и нового поколения Kepler. Члены на базе Kepler добавляют следующие стандартные функции:

  • Интерфейс PCI Express 3.0
  • DisplayPort 1.2
  • Видеовыход HDMI 1.4a 4K x 2K
  • Аппаратное ускорение видео PureVideo VP5 (декодирование до 4K x 2K H.264)
  • Аппаратное декодирование H.265 [8]
  • Аппаратный блок ускорения кодирования H.264 (NVENC)
  • Поддержка до 4 независимых 2D-дисплеев или 3 стереоскопических/3D-дисплеев (NV Surround)
  • Потоковый мультипроцессор следующего поколения (SMX)
  • Полиморф-Движок 2.0
  • Упрощенный планировщик инструкций
  • Текстуры без привязки
  • Вычислительная способность CUDA 3.0–3.5
  • GPU Boost (обновлено до 2.0 на GK110)
  • Поддержка TXAA
  • Произведено TSMC по 28 нм техпроцессу
  • Новые инструкции по перемешиванию
  • Динамический параллелизм
  • Hyper-Q (функции MPI Hyper-Q зарезервированы только для Tesla)
  • Блок управления сетью
  • Nvidia GPUDirect (функции RDMA GPU Direct зарезервированы только для Tesla)

Потоковый мультипроцессор следующего поколения (SMX)

Печатная плата и кристалл GTX 780 — более поздняя версия Kepler, имеющая больше сходства с GK110, чем с первоначальной 680.

Kepler использует новую потоковую многопроцессорную архитектуру, называемую SMX. Количество ядер выполнения CUDA было увеличено с 32 на каждый из 16 SM до 192 на каждый из 8 SMX; файл регистров был только удвоен на SMX до 65 536 x 32-бит для общего более низкого соотношения; между этим и другими компромиссами, несмотря на общее увеличение ядер CUDA в 3 раза и увеличение тактовой частоты (на 680 по сравнению с Fermi 580), фактический прирост производительности в большинстве операций был значительно ниже 3-кратного. Выделенные ядра FP64 CUDA используются вместо обработки двух ядер FP32 как единого блока, как это делалось ранее, и очень немногие были включены в потребительские модели, что привело к вычислению FP64 в 1/24 скорости по сравнению с FP32. [9]

В моделях HPC, GK110/210, количество SMX было увеличено до 13-15 в зависимости от продукта, и было включено больше ядер FP64, чтобы довести коэффициент вычислений до 1/3 FP32. В GK110 предел регистров на поток был увеличен в четыре раза по сравнению с Fermi до 255, но это все еще позволяет потоку, использующему половину регистров, распараллеливать только до 1/4 каждого SMX. GK210 (выпущенный в то же время) увеличил предел регистров до 512, чтобы улучшить производительность в ситуациях с высокой нагрузкой на регистры, таких как эта. Кэш текстур, который программисты уже использовали для вычислений в качестве буфера только для чтения в предыдущих поколениях, был увеличен в размере, а путь данных оптимизирован для более высокой пропускной способности при использовании этого метода. Все уровни памяти, включая файл регистров, также являются однобитными ECC.

Еще одной примечательной особенностью является то, что в то время как к графическим процессорам Fermi мог обращаться только один поток ЦП за раз, графические процессоры HPC Kepler добавили поддержку многопоточности, поэтому процессоры с большим количеством ядер могли открывать 32 соединения и легче загружать вычислительные мощности. [10]

Упрощенный планировщик инструкций

Дополнительное сокращение площади кристалла и экономия энергии были достигнуты за счет удаления сложного аппаратного блока, который занимался предотвращением рисков утечки данных. [3] [5] [11] [12]

Ускорение графического процессора

GPU Boost — это новая функция, которая примерно аналогична турбонаддуву ЦП. Графический процессор всегда гарантированно работает на минимальной тактовой частоте, называемой «базовой тактовой частотой». Эта тактовая частота устанавливается на уровне, который гарантирует, что графический процессор останется в пределах спецификаций TDP даже при максимальных нагрузках. [3] Однако, когда нагрузки ниже, есть возможность увеличить тактовую частоту без превышения TDP. В этих сценариях GPU Boost будет постепенно увеличивать тактовую частоту шагами, пока графический процессор не достигнет предопределенного целевого значения мощности 170 Вт по умолчанию (на карте 680). [5] При таком подходе графический процессор будет динамически увеличивать или уменьшать свою тактовую частоту, так что он будет обеспечивать максимально возможную скорость, оставаясь в пределах спецификаций TDP.

Целевой показатель мощности, а также размер шагов увеличения тактовой частоты, которые будет выполнять графический процессор, настраиваются с помощью сторонних утилит и предоставляют средства разгона видеокарт на базе Kepler. [3]

Поддержка Microsoft Direct3D

Графические процессоры Nvidia Fermi и Kepler в серии GeForce 600 поддерживают спецификацию Direct3D 11.0. Nvidia изначально заявила, что архитектура Kepler имеет полную поддержку DirectX 11.1, которая включает путь Direct3D 11.1. [13] Однако следующие функции Direct3D 11.1 «Modern UI» не поддерживаются: [14] [15]

  • Независимая от цели растеризация (только 2D-рендеринг).
  • Растеризация 16xMSAA (только 2D-рендеринг).
  • Режим ортогональной линейной отрисовки.
  • UAV (Unordered Access View) на этапах без пиксельного шейдера.

Согласно определению Microsoft, уровень возможностей Direct3D 11_1 должен быть полным, в противном случае путь Direct3D 11.1 не может быть выполнен. [16] Интегрированные возможности Direct3D архитектуры Kepler такие же, как и у архитектуры Fermi серии GeForce 400. [15]

Далее Поддержка Microsoft Direct3D

Графические процессоры Nvidia Kepler серий GeForce 600/700 поддерживают Direct3D 12 уровня возможностей 11_0. [17]

Поддержка TXAA

Эксклюзивный для графических процессоров Kepler, TXAA — это новый метод сглаживания от Nvidia, разработанный для прямой реализации в игровых движках. TXAA основан на технике MSAA и пользовательских фильтрах разрешения. Он разработан для решения ключевой проблемы в играх, известной как мерцание или временное сглаживание . TXAA решает ее, сглаживая сцену в движении, гарантируя, что любая игровая сцена будет очищена от любого сглаживания и мерцания. [3]

Инструкции по перетасовке

В GK110 было добавлено небольшое количество инструкций для дальнейшего повышения производительности. Новые инструкции shuffle позволяют потокам внутри варпа обмениваться данными между собой с помощью инструкции, которая завершает обычные операции сохранения и загрузки, которые ранее требовали двух доступов к локальной памяти в рамках одной инструкции, что делает процесс примерно на 6% быстрее, чем при использовании локального хранилища данных. Атомарные операции также были улучшены, с 9-кратным увеличением скорости для некоторых инструкций и добавлением большего количества атомарных 64-битных операций, а именно min, max, and, or и xor. [11]

Hyper-Q

Hyper-Q расширяет аппаратные рабочие очереди GK110 с 1 до 32. Значение этого заключается в том, что наличие одной рабочей очереди означало, что Fermi мог быть недозагружен, поскольку в этой очереди не было достаточно работы для заполнения каждого SM. Имея 32 рабочие очереди, GK110 может во многих сценариях достичь более высокой загрузки, имея возможность помещать различные потоки задач на то, что в противном случае было бы простаивающим SMX. Простая природа Hyper-Q еще больше подкрепляется тем фактом, что он легко сопоставляется с MPI, распространенным интерфейсом передачи сообщений, часто используемым в HPC. Поскольку устаревшие алгоритмы на основе MPI, изначально разработанные для многопроцессорных систем, стали узким местом из-за ложных зависимостей, теперь имеют решение. Увеличивая количество заданий MPI, можно использовать Hyper-Q в этих алгоритмах для повышения эффективности, не изменяя сам код. [11]

Динамический параллелизм

Возможность динамического параллелизма позволяет ядрам отправлять другие ядра. С Fermi только ЦП мог отправлять ядро, что влечет за собой определенные накладные расходы, поскольку ему приходилось общаться с ЦП. Предоставляя ядрам возможность отправлять свои собственные дочерние ядра, GK110 может сэкономить время, не обращаясь к ЦП, и в процессе освободить ЦП для работы над другими задачами. [11]

Блок управления сетью

Включение динамического параллелизма требует новой системы управления сеткой и диспетчеризации. Новый блок управления сеткой (Grid Management Unit, GMU) управляет и расставляет приоритеты для выполнения сеток. GMU может приостанавливать отправку новых сеток и ставить в очередь ожидающие и приостановленные сетки до тех пор, пока они не будут готовы к выполнению, обеспечивая гибкость для включения мощных сред выполнения, таких как динамический параллелизм. Распределитель работ CUDA в Kepler хранит сетки, готовые к отправке, и может отправлять 32 активные сетки, что вдвое превышает емкость Fermi CWD. Kepler CWD взаимодействует с GMU через двунаправленную связь, которая позволяет GMU приостанавливать отправку новых сеток и удерживать ожидающие и приостановленные сетки до тех пор, пока они не понадобятся. GMU также имеет прямое соединение с блоками Kepler SMX, чтобы разрешить сеткам, которые запускают дополнительную работу на GPU через динамический параллелизм, отправлять новую работу обратно в GMU для приоритизации и отправки. Если ядро, которое отправило дополнительную рабочую нагрузку, приостанавливается, GMU будет удерживать его в неактивном состоянии до тех пор, пока зависимая работа не будет завершена. [12]

Nvidia GPUDirect

Nvidia GPUDirect — это возможность, которая позволяет графическим процессорам в пределах одного компьютера или графическим процессорам на разных серверах, расположенных в сети, напрямую обмениваться данными без необходимости обращения к памяти ЦП/системы. Функция RDMA в GPUDirect позволяет сторонним устройствам, таким как SSD, NIC и IB-адаптеры, напрямую получать доступ к памяти на нескольких графических процессорах в пределах одной системы, что значительно снижает задержку отправки и получения сообщений MPI в/из памяти графического процессора. [18] Это также снижает требования к пропускной способности системной памяти и освобождает движки DMA графического процессора для использования другими задачами CUDA. Кристалл Kepler GK110 также поддерживает другие функции GPUDirect, включая Peer-to-Peer и GPUDirect для видео.

Сжатие/декомпрессия видео

НВДЭК

НВЕНК

NVENC — это энергоэффективный кодер с фиксированной функцией от Nvidia, способный принимать кодеки, декодировать, предварительно обрабатывать и кодировать контент на основе H.264. Входные форматы спецификации NVENC ограничены выходом H.264. Но все же NVENC, благодаря своему ограниченному формату, может поддерживать кодирование до 4096x4096. [19]

Как и QuickSync от Intel, NVENC в настоящее время доступен через собственный API, хотя у Nvidia есть планы обеспечить использование NVENC через CUDA. [19]

Производительность

Теоретическая вычислительная мощность одинарной точности графического процессора Kepler в GFLOPS вычисляется как 2 (операций на инструкцию FMA на ядро ​​CUDA за цикл) × количество ядер CUDA × тактовая частота ядра (в ГГц). Обратите внимание, что, как и предыдущее поколение Fermi , Kepler не может извлечь выгоду из увеличения вычислительной мощности за счет двойной выдачи MAD+MUL, как это было возможно в Tesla .

Теоретическая мощность обработки двойной точности графического процессора Kepler GK110/210 составляет 1/3 от его производительности одинарной точности. Однако эта мощность обработки двойной точности доступна только на профессиональных картах Quadro , Tesla и высокопроизводительных картах GeForce под брендом Titan , в то время как драйверы для потребительских карт GeForce ограничивают производительность до 1/24 производительности одинарной точности. [20] Более низкопроизводительные кристаллы GK10x также ограничены до 1/24 производительности одинарной точности. [21]

Кеплер умирает

Кеплер

ГК104ГК106ГК107ГК110
Вариант(ы)ГК104-200-А2
ГК104-300-А2
ГК104-325-А2
ГК104-400-А2
ГК104-425-А2
ГК104-850-А2
ГК106-240-А1
ГК107-400-А1
ГК107-300-А2
ГК107-301-А2
ГК107-320
-А2
ГК107-400-А2 ГК107-425-А2
ГК107-450-А2
ГК107-810-А2
ГК110-300-А1
ГК110-400-А1
ГК110-425-Б1
ГК110-885-А1
Дата выпуска3 апреля 2012 г.6 сен 2012 г.6 сен 2012 г.12 ноября 2012 г.
ЯдраЯдра CUDA15369603842880
TMU1288032240
ROP-ы32241648
Потоковые мультипроцессоры85215
GPC4315
КэшЛ1128 КБ 80 КБ 32 КБ 240 КБ 
Л2512 КБ 512 КБ 256 КБ 1,5 МБ 
Интерфейс памяти256-бит192-бит192-бит384-бит
Размер матрицы294 мм 2 221 мм 2 118 мм 2 561 мм 2 
Количество транзисторов3,54 млрд. 2,54 млрд. 1,27 млрд. 7,08 млрд. 
Плотность транзисторов12,0 МТр/мм 2 11,5 МТр/мм 2 10,8 МТр/мм 2 12,6 МТр/мм 2 
Пакетный разъемBGA1745 BGA1425 BGA908 BGA2152 
Продукция
ПотребительРабочий столGTX 660
GTX 660 Ti
GTX 670
GTX 680
GTX 690
GTX 760
GTX 760 Ti
GTX 770
GTX 650
GTX 650 Ti
GTX 660
GT 630
GTX 650
GT 720
GT 730
GT 740
GT 1030
GTX 780
GTX Титан
МобильныйGTX 670MX
GTX 675MX
GTX
680M
GTX 680MX
GTX 775M
GTX 780M GTX 860M
GTX 870M
GTX 880M
GTX 765M
GTX 770M
GT 640M
GTX 640M LE
GT 645M
GT 650M
GTX 660M
GT
740M GT 745M GT
750M
GT 755M
GTX 810M
GTX 820M
Рабочая станцияРабочий столКвадро K4200
Квадро K5000
Квадро K4000
Квадро K5000
Квадро К410
Квадро К420
Квадро К600
Квадро К2000
Квадро К2000D
Квадро K5200
Квадро K6000
МобильныйQuadro K3000M
Quadro K3100M
Quadro
K4000M
Quadro K4100M Quadro K5000M
Quadro K5100M
Квадро К100М
Квадро К200М
Квадро К500М
Квадро К1000М
Квадро К1100М
Квадро К2000М

Кеплер 2.0

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

Ссылки

  1. Mujtaba, Hassan (18 февраля 2012 г.). «Ожидается, что Nvidia выпустит восемь новых 28-нм графических процессоров Kepler в апреле 2012 г.».
  2. ^ "Внутри Кеплера" (PDF) . Получено 2015-09-19 .
  3. ^ abcde "Представляем графический процессор GeForce GTX 680". Nvidia . 22 марта 2012 г. Получено 19 сентября 2015 г.
  4. ^ "Вычислительная архитектура CUDA следующего поколения от Nvidia: Kepler TM GK110" (PDF) . Nvidia .
  5. ^ abcd Смит, Райан (22 марта 2012 г.). "Обзор Nvidia GeForce GTX 680: возвращение короны производительности". AnandTech . Получено 25 ноября 2012 г. .
  6. ^ "Эффективность через Hyper-Q, динамический параллелизм и многое другое". Nvidia . 12 ноября 2012 г. Получено 19 сентября 2015 г.
  7. ^ "GeForce GTX 770 | Характеристики | GeForce". Nvidia . Получено 2022-06-07 .
  8. ^ «Информация об устройстве декодера графического процессора NVIDIA».
  9. ^ "GeForce 680 (Kepler) Whitepaper" (PDF) . Nvidia . Получено 22 марта 2024 г. .
  10. ^ "Технический документ по архитектуре Nvidia Kepler GK210/110" (PDF) . Nvidia . Получено 22 марта 2024 г. .
  11. ^ abcd Смит, Райан (12 ноября 2012 г.). "Nvidia запускает Tesla K20 и K20X: GK110 наконец-то прибыл". AnandTech . Получено 19 сентября 2015 г. .
  12. ^ ab "Техническая документация по архитектуре Nvidia Kepler GK110" (PDF) . Nvidia . Получено 19 сентября 2015 г. .
  13. ^ "Nvidia запускает первые графические процессоры GeForce на базе архитектуры Kepler следующего поколения". Nvidia . 22 марта 2012 г. Архивировано из оригинала 14 июня 2013 г.
  14. ^ Эдвард, Джеймс (22 ноября 2012 г.). "Nvidia заявляет о частичной поддержке DirectX 11.1". TechNews . Архивировано из оригинала 28 июня 2015 г. Получено 19 сентября 2015 г.
  15. ^ ab "Nvidia не полностью поддерживает DirectX 11.1 с графическими процессорами Kepler, но… (ссылка на веб-архив)". BSN. Архивировано из оригинала 29 декабря 2012 г.
  16. ^ "Перечисление D3D_FEATURE_LEVEL (Windows)". MSDN . Получено 2015-09-19 .
  17. Мортон, Генри (20 марта 2014 г.). «DirectX 12: Большой шаг для игр». Nvidia . Получено 19 сентября 2015 г.
  18. ^ "Nvidia GPUDirect". Nvidia Developer . 6 октября 2015 г. Получено 5 февраля 2019 г.
  19. ^ ab Angelini, Chris (22 марта 2012 г.). "Результаты бенчмарка: NVEnc и MediaEspresso 6.5". Tom's Hardware . Получено 19 сентября 2015 г. .
  20. ^ Анджелини, Крис (7 ноября 2013 г.). "Обзор Nvidia GeForce GTX 780 Ti: GK110, полностью разблокирован". Tom's Hardware . стр. 1 . Получено 6 декабря 2015 г. Драйвер карты намеренно управляет блоками FP64 GK110 на 1/8 тактовой частоты графического процессора. Если умножить это на соотношение 3:1 ядер CUDA одинарной и двойной точности, то получится частота 1/24
  21. ^ Смит, Райан (13 сентября 2012 г.). «Обзор Nvidia GeForce GTX 660: GK106 дополняет семейство Kepler». AnandTech . стр. 1 . Получено 6 декабря 2015 г. .
Retrieved from "https://en.wikipedia.org/w/index.php?title=Kepler_(microarchitecture)&oldid=1248788666"