Архитектура Nvidia Kepler
Введение
Сообщения о разработке новой архитектуры GPU, которую NVIDIA предполагает использовать при производстве своих продуктов под маркой игровых видеокарт GeForce будущего поколения, а также продуктов профессионального класса, начали появляться примерно с сентября 2010. Тогда на очередной технологической конференции NVIDIA глава компании Джен-Сан Хуанг (Jen-Hsun Huang) представил миру слайд, на котором демонстрировались планы по развитию архитектур калифорнийской компании до 2014 года.

Предполагалось, что новые чипы, выпускаемые по 28-нм техпроцессу, появятся в 2011 году и смогут предложить значительно более высокую производительность на Ватт, чем существовавшие на тот момент решения. Однако шло время, а анонс новинок на базе новой многообещающей архитектуры Kepler откладывался компанией из Санта-Клары на всё более поздние сроки.

Виной всему — как обычно при освоении новых технологических норм — невысокий выход годных кристаллов, выпускаемых с применением 28-нм техпроцесса, без которых сложно представить значительные архитектурные улучшения и, как следствие, увеличение производительности на ватт. Страдала от этого и главный конкурент NVIDIA, компания AMD, которой необходимо было реабилитироваться после не слишком удачного дебюта настольных процессоров FX. Однако в отличие от NVIDIA, конкуренту из Саннивейла удалось-таки записать себя в историю как компанию, выпустившую первый графический продукт с использованием 28-нм техпроцесса.
Конкуренция с AMD

Эскиз AMD Radeon HD 7970
Но что самое неприятное для NVIDIA: новый флагман конкурента, получивший кодовое имя Tahiti, одновременно стал и самой мощной игровой видеокартой с одним GPU в мире. Уже из характеристик становится ясно, что подсистема памяти HD 7970 по объёму превосходит стандартную 1,5-Гб у GTX 580 в 2 раза. Это имеет немаловажное значение при одновременной работе с несколькими дисплеями, а таковых, по данным AMD, её топовые решения поддерживают до 6 шт.

Производительность решений красного лагеря на основе новой архитектуры GCN (Graphics Core Next), представленных видеокартами 7000-й серии Southern Islands, оказалась весьма впечатляющей. Для конкуренции с HD 7970 и младшей HD 7950, NVIDIA была вынуждена снизить рекомендованные цены на GTX 580 до $380 (для рынка США, разумеется).

NVIDIA GeForce GTX 580
Что может предложить NVIDIA рынку
Конечно, игровые видеокарты не являются единственным продуктом и показателем достижений компаний, специализирующихся на графике. Однако не стоит забывать, что все графические продукты, предназначенные для профессионального и промышленного использования, такие как NVIDIA NVS, Tesla и Quadro, производятся с использование тех же чипов, что и геймерские решения. Более того, в основе небезызвестного чипа Tegra, широко применяемого в смартфонах и планшетных компьютерах, используются технологии дискретной графики NVIDIA прошлых поколений.

Выше представлена дорожная карта развития драйверов для продуктов компании NVIDIA. Из иллюстрации можно судить, когда компания планирует выпуск тех или иных потребительских решений на базе новой архитектуры, представленной наконец-то готовыми решениями в марте этого года.
Почему «Kepler»?
NVIDIA приняла на вооружение стратегию давать имена великих учёных и изобретателей своим технологиям и продуктам. Например, профессиональные параллельные графические процессоры, способные заменить кластер при выполнении высокообъёмных вычислений, носят имя гениальнейшего учёного XX века Николы Теслы. Думаю, все знают о происхождении названия архитектуры NVIDIA Fermi. Само по себе для публичной компании, статус которой носит NVIDIA, это большая как маркетинговая, так и идеологическая ответственность.

Кристалл Kepler

Иоганн Кеплер
К слову сказать, и будущая архитектура, которую разрабатывает NVIDIA и которая, судя по графику, представленному NVIDIA Corporation, перенесена на неопределённое будущее, также будет носить имя учёного — британского физика и математика Джеймса Клерка Максвелла.
Устройство кристалла NVIDIA Kepler GK104
Пока не выпущен чип NVIDIA Kepler GK107 в настольном сегменте рынка, который должен стать более доступным и, соответственно, упрощённым вариантом GK104, мы можем с уверенностью говорить только о последнем, представленном игровой видеокартой NVIDIA GTX 680.

По утверждениям NVIDIA, архитектура Kepler и решение GTX 680 — самые энергоэффективные и производительные из того, что компания когда-либо выпускала, что, впрочем, неудивительно.

Размер кристалла составляет 294 мм2. Для сравнения: у флагманского чипа архитектуры Fermi GF110 – 520 мм2, а у AMD Radeon HD 7970– 365 мм2, что примерно на 24% больше. При этом кристалл умещает 3,54 млрд 3,5 В транзисторов, произведённых по 28-нм техпроцессу компанией TSMC, тогда как количество таковых у Radeon насчитывает целых 4,31 млрд.

Чип Kepler GK104 снабжён интерфейсом PCI Express 3.0, который теоретически предоставляет вдвое большую пропускную способность по сравнению со второй версией. Он также несёт на себе: блок управления потоками (GigaThread Engine), кэш второго уровня, а также 8 потоковых мультипроцессоров SMX, которые парами объединены в блоки GPC (Graphics Processing Clusters). Каждый GPC включает по блоку растеризации. В общем же на каждый GPC приходится по 8 растровых конвейеров (ROP) и по одному контроллеру памяти.

Сравнение GPU NVIDIA: GT200 (Tesla), GF110 (Fermi) и GK104 (Kepler)

Интерфейс памяти по непонятным, скорее маркетинговым, причинам снижен с 384 бит до 256. Но при этом частоту удалось поднять почти в полтора раза, до 6 ГГц, и компенсировать этим пропускную способность по сравнению с GF110. Частота ядра повышена на 30%, а максимальный уровень энергопотребления снижен до 195 Вт, т. е. на 20%. Теоретическая пиковая производительность при операциях с плавающей запятой возросла почти в 2 раза — до 3090 Гфлопс (об этом мы ещё скажем несколько слов ниже). Но, пожалуй, самое значительное улучшение в новом чипе — это увеличение количество ядер CUDA в 3 раза! NVIDIA часто подвергалась критике за большое отставание от AMD по этому показателю.
Устройство потокового мультипроцессора SMX

Потоковый мультипроцессор SMX
Теперь подробнее рассмотрим потоковый мультипроцессор SMX. Прежде всего, изюминкой является вдвое более производительный, по сравнению с применяемым в Fermi, блок обработки геометрии — PolyMorph Engine 2.0. Конечно, присутствует кэш инструкций, кэш текстур, унифицированный кэш, а также 64 Кб кэша первого уровня. 4 планировщика (Warp Scheduler) и 8 управляющих блоков (Dispatch Unit) взаимодействуют через регистровый файл со 192 ядрами CUDA, 32 блоками загрузки/выгрузки данных LD/ST и 32 SFU-блоками, выполняющими специальные математические функции. Количество SFU в SMX возросло в 8 раз по сравнению GF110 (Fermi)! Потоковый мультипроцессор также насчитывает 16 текстурных блоков, что вдвое превышает данное число в Fermi.

Сравнение вычислительных блоков Fermi и Kepler
В целом по чипу можно сказать, что размер SMX (в таблице — «Polymorph») значительно увеличен по сравнению с Fermi, в то время как общее число потоковых мультипроцессоров сократилось вдвое. В основном за счёт количественного увеличения числа исполнительных блоков, теоретическая производительность чипа увеличена до двух раз.
Производительность GK104
Для изучения производительности чипа GK104, давайте ознакомимся с результатами наиболее интересных тестов, проведённых коллегами с сайта brightsideofnews.

Система:
-
CPU - Intel Core i7-3960X
-
Материнская плата - Gigabyte GA-X79-UD7 (PCIe 3.0)
-
ОЗУ - 16 Гб четырёхканальной Kingston HyperX 1600 МГц
-
Дисковая подсистема — SSD Patriot Pyro 120 Гб и HDD Velociraptor 600 Гб
-
Блок питания — Thermaltake Toughpower XT Gold 1475 Вт
-
Видеокарты — NVIDIA GTX 680; NVIDIA GTX 590; AMD HD 7970
Версии драйверов видеокарт:
-
GTX 680 — 300.99
-
GTX 590 — 296.10
-
HD 7970 — 12.2
Мы не будем приводить результаты игровых тестов: их вполне достаточно на просторах Интернета. Гораздо интереснее посмотреть, как проявляет себя архитектура NVIDIA Kepler в работе с профессиональными приложениями обработки графики и видео, а также в вычислениях общего назначения (GPGPU) на фоне конкурирующей Southern Islands от AMD.

В бенчмарке 3DMark 11 GTX 680 отлично проявляет себя, незначительно проигрывая двухчиповой GTX 590 Fermi только в режимах Perfomance и Extreme и до 20% превосходя HD 7970, позволяя последней приблизиться лишь в режиме Extreme.

В тесте на вычислительную производительность GTX 680 обеспечивает заявленные производителем более чем 3 Тфлопс в вычислениях с одинарной точностью. К сожалению, вычисления с двойной точностью — это проблема для новой видеокарты.

Несколько лучшие результаты в вычислениях с двойной точностью GK104 показывает при работе на OpenCL.

Криптография — явно не сильная сторона Kepler.

Однако на OpenCL результаты уже кардинально иные: уступая в хешировании, GTX 680 более чем в 4 раза превосходит флагмана AMD в шифровании.

AMD Radeon HD 7970 превосходит конкурента на 36% в рендеринге с одинарной точностью и более чем в 6 раз в рендеринге с двойной.

Технология CUDA разработана NVIDIA и поддерживается только продуктами этой компании, начиная с 8-й серии видеокарт, поэтому в тестировании не смог принять участие представитель AMD. Зато мы можем оценить на примере двухчиповой GF110 Fermi, работающей, как известно, на пониженных частотах, результаты новинки. Прямо скажем: они противоречивые. С одной стороны, как и в других тестах, наблюдается хорошая производительность при вычислениях с одинарной точностью. С другой — вызывает опасения ухудшившаяся производительность при вычислениях с двойной.

Kepler, на примере GTX 680, значительно уступает в данном компоненте не только Fermi, но и решениям AMD классом ниже. Стоит напомнить, что профессиональные графические ускорители, скорее всего, будут иметь ту же архитектуру, что и GTX 680. Остаётся надеяться, что NVIDIA припасла профессионалам приятный сюрприз в виде, возможно, каких-либо специальных блоков, активируемых в ускорителях профессиональных серий.



И в заключении обратимся к бенчмарку приложения Cyberlink MediaEspresso. Каждая видеокарта работает в паре с самым мощным настольным процессом Intel Core i7-3960X. Красная полоса — время перекодирования видео-образца из формата 1080P в 720P процессором без участия GPU при максимальных настройках качества. Синяя — перекодирование ложится на плечи GPU. Только результат NVIDIA GeForce GTX 680 можно назвать интересным, потому что остальные видеокарты потребляют куда больше электроэнергии, чем процессор, и уступают ему более 10 с.
Новые технологии сглаживания и вертикальной синхронизации

Мы не смогли обойти стороной новые алгоритмы сглаживания изображения, представленные NVIDIA в архитектуре Kepler. Сглаживание FXAA (Fast Approximate Anti-Aliasing) 3, как видно в сравнении с MSAA 4, даёт изображение гораздо более реалистичного качества, а также работает, по заверению NVIDIA, на 60% быстрее последнего.

Алгоритм TXAA представляет немалый интерес с точки зрения соотношения качество/производительность.

NVIDIA позиционирует его как более качественный, чем любой из алгоритмов MSAA, и менее ресурсозатратный.

Технология Adaptive Vsync позволяет автоматически подстраивать в играх частоту смены кадров, производимых видеокартой, под частоту 60 Гц монитора там, где карта выдаёт большее число кадров в секунду. Это позволяет избежать расслоения и сдвигов картинки по горизонтали.
Заключение
Поколение GPU, построенных на архитектуре NVIDIA Kepler, на данный момент представлено лишь игровыми видеокартами: 4 мобильными GPU на основе GK107, а также протестированной GeForce GTX 680. В данном случае хочется особенно отметить слово «игровая». NVIDIA позиционирует этот продукт именно так. Карта действительно не настолько сильна в GPGPU, как от неё ожидали. А ведь Kepler — это ещё и великий учёный, давший человечеству множество открытий, изменивших его историю! Сможет ли одноимённая архитектура графических ускорителей NVIDIA оправдать ожидания, которые на неё возлагаются современным поколением людей, покажет время.
Егор Франков
17/04.2012













