Кеплер (микроархитектура)
Запущен | 3 апреля 2012 г. |
---|---|
Разработано | Нвидиа |
Производитель | |
Процесс изготовления | TSMC 28 нм |
Серия продуктов | |
Рабочий стол | |
Профессиональная/рабочая станция | |
Сервер/центр обработки данных | |
Технические характеристики | |
Кэш L1 | 16 КБ (на SM) |
Кэш L2 | До 512 КБ |
Поддержка памяти | ГДДР5 |
PCIe Поддержка | PCIe 2.0 PCIe 3.0 |
Поддерживаемые графические API | |
ДиректХ | DirectX 12 Ultimate (уровень функций 11_0) |
Шейдерная модель | Шейдерная модель 6.5 |
Вулкан | Вулкан 1.2 |
Медиа-движок | |
Кодирование кодеков | H.264 |
Декодирование кодеков | |
Поддерживаемые кодировщики | НВЕНК |
Выходы дисплея | Два ДисплейПорт 1.2 HDMI 1.4а |
История | |
Предшественник | Ферми |
Преемник | Максвелл |

Kepler — кодовое название графического процессора микроархитектуры , разработанной Nvidia и впервые представленной в розничной продаже в апреле 2012 года. [1] как преемник микроархитектуры Ферми . 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 .
Архитектура названа в честь Иоганна Кеплера , немецкого математика и ключевой фигуры научной революции 17 века .
Обзор [ править ]

Целью предыдущей архитектуры 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 добавляют следующие стандартные функции:
- PCI Express 3.0 Интерфейс
- ДисплейПорт 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 Потоковый мультипроцессор следующего поколения )

Kepler использует новую потоковую многопроцессорную архитектуру под названием SMX. Количество ядер выполнения CUDA было увеличено с 32 на каждый из 16 SM до 192 на каждый из 8 SMX; файл регистров был увеличен только вдвое для каждого SMX до 65 536 x 32-бит, что в целом привело к более низкому соотношению; Между этим и другими компромиссами, несмотря на трехкратное общее увеличение количества ядер CUDA и увеличение тактовой частоты (на 680 по сравнению с Fermi 580), фактический прирост производительности в большинстве операций был значительно ниже трехкратного. Используются выделенные ядра CUDA FP64, а не рассматриваются два ядра 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 «Современного пользовательского интерфейса» не поддерживаются: [14] [15]
- Независимая от цели растеризация (только 2D-рендеринг).
- Растеризация 16xMSAA (только 2D-рендеринг).
- Режим рендеринга ортогональных линий.
- БПЛА (представление неупорядоченного доступа) на этапах без пиксельного шейдера.
Согласно определению Microsoft, уровень функций Direct3D 11_1 должен быть полным, иначе путь Direct3D 11.1 не может быть выполнен. [16] Интегрированные функции Direct3D в архитектуре Kepler такие же, как и в архитектуре Fermi серии GeForce 400. [15]
поддержка Direct3D Следующая Microsoft
Графические процессоры Nvidia Kepler серии GeForce 600/700 поддерживают уровень функций Direct3D 12 11_0. [17]
Поддержка TXAA [ править ]
Эксклюзивный для графических процессоров Kepler TXAA — это новый метод сглаживания от Nvidia, предназначенный для непосредственной реализации в игровых движках. TXAA основано на методе MSAA и настраиваемых фильтрах разрешения. Он предназначен для решения ключевой проблемы в играх, известной как мерцание или временное сглаживание . TXAA решает эту проблему, сглаживая сцену в движении, гарантируя, что любая игровая сцена очищена от любых искажений и мерцания. [3]
Инструкции по перемешиванию [ править ]
В GK110 было добавлено небольшое количество инструкций для дальнейшего повышения производительности. Новые инструкции тасования позволяют потокам внутри варпа обмениваться данными между собой с помощью инструкции, которая завершает обычные операции хранения и загрузки, которые ранее требовали двух обращений к локальной памяти в рамках одной инструкции, что делает процесс примерно на 6% быстрее, чем при использовании локального хранилища данных. Атомарные операции также были улучшены: скорость некоторых инструкций увеличилась в 9 раз, а также было добавлено больше атомарных 64-битных операций, а именно min, max и/или и xor. [11]
Гипер-Q [ править ]
Hyper-Q расширяет очереди аппаратных рабочих операций GK110 с 1 до 32. Значение этого заключается в том, что наличие единственной рабочей очереди означало, что Fermi время от времени мог быть недостаточно занят, поскольку в этой очереди не было достаточно работы для заполнения каждого SM. Имея 32 рабочие очереди, GK110 может во многих сценариях добиться более высокого использования, имея возможность размещать различные потоки задач на том, что в противном случае было бы простаивающим SMX. Простота Hyper-Q дополнительно усиливается тем фактом, что он легко сопоставляется с MPI, общим интерфейсом передачи сообщений, часто используемым в HPC. Поскольку устаревшие алгоритмы на основе MPI, которые изначально были разработаны для многопроцессорных систем, которые оказались ограничены ложными зависимостями, теперь имеют решение. Увеличивая количество заданий MPI, можно использовать Hyper-Q в этих алгоритмах для повышения эффективности без изменения самого кода. [11]
Динамический параллелизм [ править ]
Возможность динамического параллелизма позволяет ядрам отправлять другие ядра. При использовании Fermi только ЦП мог управлять ядром, что влечет за собой определенные накладные расходы из-за необходимости обратной связи с ЦП. Предоставляя ядрам возможность отправлять свои собственные дочерние ядра, GK110 может сэкономить время, не возвращаясь к ЦП, и при этом освободить ЦП для работы над другими задачами. [11]
Отдел управления сетью [ править ]
Для включения динамического параллелизма требуется новая система управления сетью и диспетчеризации. Новое подразделение управления сетями (GMU) управляет сетями и определяет их приоритетность. GMU может приостанавливать отправку новых сеток, а также ожидающих очереди и приостановленных сеток до тех пор, пока они не будут готовы к выполнению, обеспечивая гибкость для включения мощных сред выполнения, таких как динамический параллелизм. Распределитель работ CUDA в Kepler содержит сетки, готовые к отправке, и может распределять 32 активных сетки, что вдвое превышает мощность Fermi CWD. Kepler CWD связывается с GMU через двустороннюю связь, которая позволяет GMU приостанавливать отправку новых сеток и удерживать ожидающие и приостановленные сетки до тех пор, пока они не потребуются. GMU также имеет прямое соединение с блоками Kepler SMX, что позволяет сетям, которые запускают дополнительную работу на графическом процессоре посредством динамического параллелизма, отправлять новую работу обратно в GMU для определения приоритетов и отправки. Если ядро, отправившее дополнительную рабочую нагрузку, приостанавливается, GMU будет удерживать его в неактивном состоянии до завершения зависимой работы. [12]
Nvidia GPUDirect [ править ]
Nvidia GPUDirect — это возможность, которая позволяет графическим процессорам на одном компьютере или графическим процессорам на разных серверах, расположенных в сети, напрямую обмениваться данными без необходимости обращения к процессору/системной памяти. Функция RDMA в GPUDirect позволяет сторонним устройствам, таким как твердотельные накопители, сетевые карты и адаптеры IB, напрямую получать доступ к памяти на нескольких графических процессорах в одной системе, что значительно снижает задержку отправки и получения сообщений MPI в/из памяти графического процессора. [18] Это также снижает требования к пропускной способности системной памяти и освобождает механизмы DMA графического процессора для использования другими задачами CUDA. Кристалл Kepler GK110 также поддерживает другие функции GPUDirect, включая одноранговую сеть и 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 × тактовая частота ядра (в ГГц). предыдущего поколения Обратите внимание, что, как и Ферми , Кеплер не может извлечь выгоду из увеличения вычислительной мощности за счет двойной выдачи MAD+MUL, как это Тесле было возможно в .
Теоретическая вычислительная мощность двойной точности графического процессора 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 | GK106-240-A1 ГК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 г. | ||
Ядра | Ядра CUDA | 1536 | 960 | 384 | 2880 | |
ТМУ | 128 | 80 | 32 | 240 | ||
РОП | 32 | 24 | 16 | 48 | ||
Потоковые мультипроцессоры | 8 | 5 | 2 | 15 | ||
ГЦП | 4 | 3 | 1 | 5 | ||
Кэш | Л1 | 128 КБ | 80 КБ | 32 КБ | 240 КБ | |
Л2 | 512 КБ | 512 КБ | 256 КБ | 1,5 МБ | ||
Интерфейс памяти | 256-битный | 192-битный | 192-битный | 384-битный | ||
Размер матрицы | 294 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 | ||
Пакетная розетка | БГА 1745 | БГА 1425 | БГА908 908 | БГА 2152 | ||
Продукты | ||||||
Потребитель | Рабочий стол | ГТХ 660 GTX 660 Ти ГТХ 670 ГТХ 680 ГТХ 690 ГТХ 760 видеокарта GTX 760 Ti ГТХ 770 | ГТХ 650 GTX 650 Ти ГТХ 660 ГТХ 750 Ти | ГТ 630 ГТХ 650 ГТ 720 ГТ 730 ГТ 740 ГТ 1030 | ГТХ 780 GTX Титан | |
мобильный | видеокарта 670MX видеокарта 675MX ГТХ 680М видеокарта 680MX ГТХ 775М ГТХ 780М ГТХ 860М ГТХ 870М ГТХ 880М | ГТХ 765М ГТХ 770М | ГТ 640М GTX 640M ЛЕ ГТ 645М ГТ 650М ГТХ 660М ГТ 740М ГТ 745М ГТ 750М ГТ 755М ГТХ 810М ГТХ 820М | — | ||
Рабочая станция | Рабочий стол | Квадро К4200 Квадро К5000 | Каркас К4000 Квадро К5000 | Панель К410 Квадро К420 К600 Рамка Квадро К2000 Квадро К2000Д | Квадро К5200 Квадро К6000 | |
мобильный | Квадро К3000М Рама К3100М Каркас К4000М Рама К4100М Квадро К5000М Квадро К5100М | — | Рама К100М Квадро К200М Квадро К500М Квадро К1000М Рама К1100М Квадро К2000М | — |
Кеплер 2.0
- ГК208
- ГК210
- ГК20А ( Тегра К1 )
См. также [ править ]
- Список эпонимов микроархитектур графических процессоров Nvidia
- Список графических процессоров Nvidia
- Нвидиа НВДЕК
Ссылки [ править ]
- ^ Муджтаба, Хасан (18 февраля 2012 г.). «Nvidia планирует выпустить восемь новых 28-нм графических процессоров Kepler в апреле 2012 года» .
- ^ «Внутри Кеплера» (PDF) . Проверено 19 сентября 2015 г.
- ↑ Перейти обратно: Перейти обратно: а б с д и «Представляем графический процессор GeForce GTX 680» . Нвидиа . 22 марта 2012 года . Проверено 19 сентября 2015 г.
- ^ «Вычислительная архитектура CUDA следующего поколения от Nvidia: Kepler TM GK110» (PDF) . Нвидиа .
- ↑ Перейти обратно: Перейти обратно: а б с д Смит, Райан (22 марта 2012 г.). «Обзор Nvidia GeForce GTX 680: возвращение короны производительности» . АнандТех . Проверено 25 ноября 2012 г.
- ^ «Эффективность благодаря Hyper-Q, динамическому параллелизму и многому другому» . Нвидиа . 12 ноября 2012 года . Проверено 19 сентября 2015 г.
- ^ «GeForce GTX 770 | Технические характеристики | GeForce» . Нвидиа . Проверено 7 июня 2022 г.
- ^ https://bluesky-soft.com/en/dxvac/deviceInfo/decoder/nvidia.html
- ^ «Информационный документ о GeForce 680 (Kepler)» (PDF) . Нвидиа . Проверено 22 марта 2024 г.
- ^ «Информационный документ по архитектуре NVIDIA Kepler GK210/110» (PDF) . Нвидиа . Проверено 22 марта 2024 г.
- ↑ Перейти обратно: Перейти обратно: а б с д Смит, Райан (12 ноября 2012 г.). «Nvidia запускает Tesla K20 и K20X: наконец-то появился GK110» . АнандТех . Проверено 19 сентября 2015 г.
- ↑ Перейти обратно: Перейти обратно: а б «Информационный документ по архитектуре NVIDIA Kepler GK110» (PDF) . Нвидиа . Проверено 19 сентября 2015 г.
- ^ «Nvidia выпускает первые графические процессоры GeForce на базе архитектуры Kepler следующего поколения» . Нвидиа . 22 марта 2012 г. Архивировано из оригинала 14 июня 2013 г.
- ^ Эдвард, Джеймс (22 ноября 2012 г.). «Nvidia утверждает, что частично поддерживает DirectX 11.1» . ТехНьюс . Архивировано из оригинала 28 июня 2015 года . Проверено 19 сентября 2015 г.
- ↑ Перейти обратно: Перейти обратно: а б «Nvidia не полностью поддерживает DirectX 11.1 с графическими процессорами Kepler, но… (ссылка на веб-архив)» . БСН. Архивировано из оригинала 29 декабря 2012 года.
- ^ «Перечисление D3D_FEATURE_LEVEL (Windows)» . MSDN . Проверено 19 сентября 2015 г.
- ^ Мортон, Генри (20 марта 2014 г.). «DirectX 12: большой шаг в развитии игр» . Нвидиа . Проверено 19 сентября 2015 г.
- ^ «Нвидиа ГПУДирект» . Разработчик Нвидиа . 6 октября 2015 г. Проверено 5 февраля 2019 г.
- ↑ Перейти обратно: Перейти обратно: а б Анджелини, Крис (22 марта 2012 г.). «Результаты тестирования: NVEnc и MediaEspresso 6.5» . Аппаратное обеспечение Тома . Проверено 19 сентября 2015 г.
- ^ Анджелини, Крис (7 ноября 2013 г.). «Обзор Nvidia GeForce GTX 780 Ti: GK110, полностью разблокирована» . Аппаратное обеспечение Тома . п. 1 . Проверено 6 декабря 2015 г.
Драйвер карты намеренно использует блоки FP64 GK110 на 1/8 тактовой частоты графического процессора. Если умножить это на соотношение ядер CUDA с одинарной и двойной точностью 3:1, вы получите коэффициент 1/24.
- ^ Смит, Райан (13 сентября 2012 г.). «Обзор Nvidia GeForce GTX 660: GK106 дополняет семейство Kepler» . АнандТех . п. 1 . Проверено 6 декабря 2015 г.