stringtranslate.com

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

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

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

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

Обзор

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

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

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

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

Функции

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

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

Плата GTX 780 и кристалл.

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

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

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

Повышение графического процессора

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

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

Поддержка Microsoft Direct3D

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

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

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

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

Поддержка TXAA

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

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

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

Гипер-Q

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

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

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

Отдел управления сетями

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

NVIDIA GPUDirect

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

Распаковка/сжатие видео

НВДЕК

НВЕНК

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

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

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

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

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

Кеплер чипы

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

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

  1. Муджтаба, Хасан (18 февраля 2012 г.). «Ожидается, что NVIDIA выпустит восемь новых 28-нм графических процессоров Kepler в апреле 2012 года».
  2. ^ «Внутри Кеплера» (PDF) . Проверено 19 сентября 2015 г.
  3. ^ abcde «Представляем графический процессор GeForce GTX 680». Нвидиа. 22 марта 2012 года . Проверено 19 сентября 2015 г.
  4. ^ Нивидия. «Вычислительная архитектура CUDATM следующего поколения NVIDIA: Kepler TM GK110» (PDF) . www.nvidia.com .
  5. ↑ Abcde Смит, Райан (22 марта 2012 г.). «Обзор NVIDIA GeForce GTX 680: возвращение короны производительности». АнандТех . Проверено 25 ноября 2012 г.
  6. ^ «Эффективность благодаря Hyper-Q, динамическому параллелизму и многому другому». Нвидиа. 12 ноября 2012 года . Проверено 19 сентября 2015 г.
  7. ^ «GeForce GTX 770 | Технические характеристики | GeForce» . www.nvidia.com . Проверено 7 июня 2022 г.
  8. ^ https://bluesky-soft.com/en/dxvac/deviceInfo/decoder/nvidia.html
  9. ^ «Обзор GeForce GTX 680 2 ГБ: Кеплер отправляет Таити в отпуск» . Оборудование Тома. 22 марта 2012 года . Проверено 19 сентября 2015 г.
  10. ^ abcd «NVIDIA запускает Tesla K20 и K20X: наконец-то появился GK110» . АнандТех. 12 ноября 2012 г. Проверено 19 сентября 2015 г.
  11. ^ ab «Информационный документ по архитектуре NVIDIA Kepler GK110» (PDF) . Проверено 19 сентября 2015 г.
  12. ^ «NVIDIA выпускает первые графические процессоры GeForce на базе архитектуры Kepler следующего поколения» . Нвидиа. 22 марта 2012 г. Архивировано из оригинала 14 июня 2013 г.
  13. Эдвард, Джеймс (22 ноября 2012 г.). «NVIDIA утверждает, что частично поддерживает DirectX 11.1». ТехНьюс. Архивировано из оригинала 28 июня 2015 года . Проверено 19 сентября 2015 г.
  14. ^ ab «Nvidia не полностью поддерживает DirectX 11.1 с графическими процессорами Kepler, но… (ссылка на веб-архив)». БСН. Архивировано из оригинала 29 декабря 2012 года.
  15. ^ «Перечисление D3D_FEATURE_LEVEL (Windows)» . MSDN . Проверено 19 сентября 2015 г.
  16. Генри Мортон (20 марта 2014 г.). «DirectX 12: большой шаг в развитии игр» . Проверено 19 сентября 2015 г.
  17. ^ "NVIDIA GPUDirect" . Разработчик NVIDIA . 06.10.2015 . Проверено 5 февраля 2019 г.
  18. ^ аб Крис Анджелини (22 марта 2012 г.). «Результаты тестирования: NVEnc и MediaEspresso 6.5». Аппаратное обеспечение Тома . Проверено 19 сентября 2015 г.
  19. Анджелини, Крис (7 ноября 2013 г.). «Обзор Nvidia GeForce GTX 780 Ti: GK110, полностью разблокирован» . Аппаратное обеспечение Тома . п. 1 . Проверено 6 декабря 2015 г. Драйвер карты сознательно использует блоки FP64 GK110 на 1/8 тактовой частоты графического процессора. Если умножить это на соотношение ядер CUDA с одинарной и двойной точностью 3:1, вы получите коэффициент 1/24.
  20. Смит, Райан (13 сентября 2012 г.). «Обзор NVIDIA GeForce GTX 660: GK106 дополняет семейство Kepler». АнандТех . п. 1 . Проверено 6 декабря 2015 г.