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

редактировать
Nvidia Kepler
Дата выпускаАпрель 2012
Процесс изготовленияTSMC 28 нм
История
ПредшественникFermi
ПреемникМаксвелл

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

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

Содержание
  • 1 Обзор
  • 2 Характеристики
    • 2.1 Многопроцессор потоковой передачи нового поколения (SMX)
    • 2.2 Упрощенный планировщик инструкций
    • 2.3 Ускорение графического процессора
    • 2.4 Поддержка Microsoft Direct3D
    • 2.5 Следующая поддержка Microsoft Direct3D
    • 2.6 Поддержка TXAA
    • 2.7 Инструкции в случайном порядке
    • 2.8 Hyper-Q
    • 2.9 Динамический параллелизм
    • 2.10 Сетка Блок управления
    • 2.11 NVIDIA GPUDirect
    • 2.12 Декомпрессия / сжатие видео
      • 2.12.1 NVDEC
      • 2.12.2 NVENC
  • 3 Производительность
  • 4 чипа Kepler
  • 5 См. Также
  • 6 Ссылки
Обзор

Целью предыдущей архитектуры Nvidia было проектирование, ориентированное на повышение производительности вычислений и тесселяции, с архитектурой Kepler Nvidia target они сосредоточились на эффективности, программируемости и производительности. Цель эффективности была достигнута за счет использования унифицированных часов графического процессора, упрощенного статического планирования инструкций и повышенного внимания к производительности на ватт. За счет отказа от тактовой частоты шейдера, которая использовалась в их предыдущих проектах графических процессоров, эффективность повышается, хотя для достижения более высокого уровня производительности требуются дополнительные ядра. Это связано не только с тем, что ядра более энергоэффективны (два ядра Kepler используют 90% мощности одного ядра Fermi, согласно данным Nvidia), но и переход на унифицированную схему тактовой частоты графического процессора обеспечивает снижение энергопотребления на 50% в

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

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

Особенности

Графический процессор серии 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.264 (NVENC)
  • Поддержка до 4 независимых 2D-дисплеев или 3-х стереоскопических / 3D-дисплеев (NV Surround)
  • Многопроцессор потоковой передачи следующего поколения (SMX)
  • Polymorph-Engine 2.0
  • Упрощенный планировщик инструкций
  • Текстуры без привязки
  • CUDA Compute Capability 3.0 - 3.5
  • GPU Boost (обновлено до 2.0 на GK110)
  • Поддержка TXAA
  • Изготовлено TSMC по 28-нм техпроцессу
  • Новые инструкции в случайном порядке
  • Динамический параллелизм
  • Hyper-Q (функциональность Hyper-Q MPI только для Tesla)
  • Grid Management Unit
  • NVIDIA GPUDirect (функциональность RDMA GPU Direct предназначена только для Tesla)

Многопроцессор потоковой передачи нового поколения (SMX)

В архитектуре Kepler используется новая многопроцессорная потоковая архитектура под названием «SMX». SMX являются причиной энергоэффективности Kepler, поскольку весь графический процессор использует единую унифицированную тактовую частоту. Хотя использование SMX единой унифицированной тактовой частоты увеличивает энергоэффективность из-за того, что несколько ядер Kepler CUDA с более низкой тактовой частотой потребляют на 90% меньше энергии, чем несколько ядер Fermi CUDA Core с более высокой тактовой частотой, для выполнения всей деформации за цикл требуются дополнительные процессоры. Удвоение от 16 до 32 на массив CUDA решает проблему выполнения деформации, внешний интерфейс SMX также удваивается с планировщиками деформации, блоком диспетчеризации и регистровым файлом, удвоенным до 64 КБ записей для подачи дополнительных исполнительных блоков. Из-за риска раздувания площади штампа SMX PolyMorph Engines улучшены до 2.0, а не удваиваются вместе с исполнительными блоками, что позволяет им увеличивать полигон за более короткие циклы. Также используются выделенные ядра FP64 CUDA, поскольку все ядра CUDA Kepler не поддерживают FP64 для экономии места на кристалле. Благодаря усовершенствованию, которое Nvidia внесла в SMX, результаты включают повышение производительности и эффективности графического процессора. В GK110 кэш текстур размером 48 КБ разблокирован для вычислительных рабочих нагрузок. В вычислительной рабочей нагрузке кэш текстур становится доступным только для чтения кешем данных, специализирующимся на рабочих нагрузках невыровненного доступа к памяти. Кроме того, были добавлены возможности обнаружения ошибок, чтобы сделать его более безопасным для рабочих нагрузок, полагающихся на ECC. Количество регистров на поток также удвоено в GK110 и составляет 255 регистров на поток.

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

Дополнительные места на кристалле получаются путем замены сложного аппаратного планировщика простым программным планировщиком. При программном планировании планирование деформаций было перенесено в компилятор Nvidia, и, поскольку математический конвейер графического процессора теперь имеет фиксированную задержку, он ввел параллелизм на уровне инструкций в дополнение к параллелизму на уровне потоков. Поскольку инструкции планируются статически, согласованность достигается путем перехода к инструкциям с фиксированной задержкой, а статический запланированный компилятор убирает уровень сложности.

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

Ускорение графического процессора - это новая функция, которая примерно аналогична к турбо разгону процессора. Графический процессор всегда гарантированно работает на минимальной тактовой частоте, называемой «базовой тактовой частотой». Эта тактовая частота установлена ​​на уровне, который гарантирует, что графический процессор останется в пределах спецификации TDP даже при максимальной нагрузке. Однако при более низких нагрузках есть место для увеличения тактовой частоты без превышения TDP. В этих сценариях функция ускорения графического процессора будет постепенно увеличивать тактовую частоту, пока графический процессор не достигнет предопределенной целевой мощности (которая по умолчанию составляет 170 Вт). Применяя этот подход, графический процессор будет динамически увеличивать или уменьшать тактовую частоту, чтобы обеспечить максимально возможную скорость, оставаясь в пределах спецификаций TDP.

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

Поддержка Microsoft Direct3D

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

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

Согласно определению Microsoft, уровень функций Direct3D 11_1 должен быть полным, в противном случае Путь Direct3D 11.1 не может быть выполнен. Встроенные функции Direct3D в архитектуре Kepler такие же, как и в архитектуре Fermi серии GeForce 400.

Следующая поддержка Microsoft Direct3D

Графические процессоры NVIDIA Kepler серии GeForce 600/700 поддерживают Direct3D 12 уровень функций 11_0.

Поддержка TXAA

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

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

На низком уровне GK110 видит дополнительные инструкции и операции для дальнейшего повышения производительности. Новые инструкции перемешивания позволяют потокам внутри деформации обмениваться данными без возврата в память, что делает процесс намного быстрее, чем предыдущий метод загрузки / совместного использования / сохранения. Атомарные операции также подверглись капитальному ремонту, увеличена скорость выполнения атомарных операций и добавлены некоторые операции FP64, которые ранее были доступны только для данных FP32.

Hyper-Q

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

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

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

Grid Management Unit

Для включения динамического параллелизма требуется новая система управления сетью и диспетчерского контроля. Новый блок управления сетью (GMU) управляет сетями и определяет их приоритетность. GMU может приостанавливать отправку новых сеток и ожидающих очереди и приостановленных сеток до тех пор, пока они не будут готовы к выполнению, обеспечивая гибкость для включения мощных сред выполнения, таких как динамический параллелизм. Дистрибьютор CUDA Work Distributor в Kepler имеет готовые к отправке сети и может отправлять 32 активные сети, что вдвое превышает емкость Fermi CWD. Kepler CWD связывается с GMU через двунаправленную связь, которая позволяет GMU приостанавливать отправку новых сетей и удерживать ожидающие и приостановленные сети до тех пор, пока это не понадобится. GMU также имеет прямое соединение с модулями Kepler SMX, чтобы позволить сеткам, которые запускают дополнительную работу на GPU через динамический параллелизм, отправлять новую работу обратно в GMU для определения приоритетов и отправки. Если ядро, отправившее дополнительную рабочую нагрузку, приостанавливает работу, GMU будет удерживать его в неактивном состоянии до завершения зависимой работы.

NVIDIA GPUDirect

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

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

NVDEC

NVENC

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

Подобно Intel Quick Sync, NVENC в настоящее время предоставляется через собственный API, хотя Nvidia действительно планирует обеспечить использование NVENC через CUDA.

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

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

Теоретическая мощность обработки с двойной точностью графического процессора Kepler GK110 / 210 составляет 1/3 от его производительности с одинарной точностью. Однако такая вычислительная мощность с двойной точностью доступна только на профессиональных картах Quadro, Tesla и high-end TITAN GeForce, а драйверы для потребительских карт GeForce ограничить производительность до 1/24 от производительности с одинарной точностью. Чипы GK10x с более низкой производительностью также ограничены до 1/24 производительности одинарной точности.

Чипы Kepler
  • GK104
  • GK106
  • GK107
  • GK110
  • GK208
  • GK210
  • GK20A (Tegra K1 )
См. Также
Ссылки
Последняя правка сделана 2021-05-25 04:19:22
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте