NVIDIA продемонстрирует чипы Tesla на архитектуре Fermi на этой неделе

Последние выходные я потратил на освоение программирования CUDA и SIMT. Это плодотворно проведённое время закончилось почти 700-кратным ускорением моего «рейтрейсера на визитке» [1] — с 101 секунд до 150 мс. Такой приятный опыт стал хорошим предлогом для дальнейшего изучения темы и эволюции архитектуры Nvidia. Благодаря огромному объёму документации, опубликованному за долгие годы «зелёной» командой, мне удалось вернуться назад во времени и вкратце пройтись по удивительной эволюции её потоковых мультипроцессоров. В этой статье мы рассмотрим: Год Поколение Серия Кристалл Техпроцесс Самая мощная карта
===========================================================================
2006 Tesla GeForce 8 G80 90 nm 8800 GTX
2010 Fermi GeForce 400 GF100 40 nm GTX 480
2012 Kepler GeForce 600 GK104 28 nm GTX 680
2014 Maxwell GeForce 900 GM204 28 nm GTX 980 Ti
2016 Pascal GeForce 10 GP102 16 nm GTX 1080 Ti
2018 Turing GeForce 20 TU102 12 nm RTX 2080 Ti

Тупик

Вплоть до 2006 года архитектура GPU компании NVidia коррелировала с логическими этапами API рендеринга[2].

GeForce 7900 GTX, управлявшаяся кристаллом G71, состояла из трёх частей, занимавшихся обработкой вершин (8 блоков), генерацией фрагментов (24 блоков), и объединением фрагментов (16 блоков). Кристалл G71. Обратите внимание на оптимизацию Z-Cull, отбрасывающую фрагмент, не прошедший бы Z-тест. Эта корреляция заставила проектировщиков угадывать расположение «узких места» конвейера для правильной балансировки каждого из слоёв. С появлением в DirectX 10 ещё одного этапа — геометрического шейдера, инженеры Nvidia столкнулись со сложной задачей балансировки кристалла без знания того, насколько активно будет использоваться этот этап. Настало время для перемен.

Tesla

Nvidia решила проблему роста сложности при помощи «объединённой» архитектуры Tesla, выпущенной в 2006 году. В кристалле G80 больше не было различий между слоями. Благодаря возможности выполнения вершинного, фрагментного и геометрического «ядра», потоковый мультипроцессор (Stream Multiprocessor, SM) заменил все существовавшие ранее блоки. Уравновешивание нагрузки выполнялось автоматически, благодаря замене выполняемого каждым SM «ядра» в зависимости от требований конвейера. «Фактически, мы выбросили всю шейдерную архитектуру NV30/NV40 и с нуля создали новую, с новой общей архитектурой универсальных процессоров (SIMT), в которой также были введены новые методологии проектирования процессоров».

Джона Албен (интервью extremetech.com)

Больше не имеющие возможности выполнять инструкции SIMD «блоки шейдеров» превратились в «ядра», способные выполнять по одной целочисленной инструкции или по одной инструкции с float32 за такт. SM получает потоки в группах по 32 потока, называемых warp. В идеале все потоки одного warp выполняют одновременно одну и ту же инструкцию, только для разных данных (отсюда и название SIMT). Многопотоковый блок инструкций (Multi-threaded Instruction Unit, MT) занимается включением/отключением потоков в warp-е в случае, если их указатель инструкций (Instruction Pointer, IP) сходится/отклоняется. Два блока SFU помогают выполнять сложные математические вычисления, например, обратный квадратный корень, sin, cos, exp и rcp. Эти блоки также способны выполнять по одной инструкции за такт, но поскольку их только два, скорость выполнения warp-а делится на четыре. Аппаратная поддержка float64 отсутствует, вычисления выполняются программно, что сильно влияет на скорость выполнения. SM реализует свой максимальный потенциал, когда способен скрывать задержки памяти благодаря постоянному наличию диспетчеризируемых warp-ов, но также когда поток в warp-е не отклоняется (управляющая логика удерживает его на одном пути выполнения инструкций). Состояния потоков хранятся в 4-килобайтных файлах регистров (Register File, RF). Потоки, занимающие слишком большое пространство в стеке, снижают количество возможных потоков, которые могут выполняться одновременно, понижая при этом производительность.

Кристаллом-флагманом поколения Tesla был 90-нанометровый G80, представленный в GeForce 8800 GTX. Два SM объединены в кластер обработки текстур (Texture Processor Cluster, TPC) вместе с текстурным блоком (Texture Unit) и кешем Tex L1.

Обещалось, что G80 с 8 TPC и 128 ядрами генерирует 345,6 гигафлопс[3]. Карта 8800 GTX была в своё время чрезвычайно популярна, она получила замечательные отзывы и полюбилась тем, кто мог себе её позволить.

Она оказалась таким превосходным продуктом, что спустя тринадцать месяцев после выпуска оставалась одним из самых быстрых GPU на рынке.

G80, установленный в 8800 GTX. Render Output Units (ROP) занимаются выполнением сглаживания. Вместе с Tesla компания Nvidia представила язык программирования C для Compute Unified Device Architecture (CUDA) — надмножество языка C99. Это понравилось энтузиастам GPGPU, приветствовавшим альтернативу обмана GPU при помощи текстур и шейдеров GLSL. Хотя в этом разделе я в основном рассказываю о SM, это была только одна половина системы. В SM необходимо передавать инструкции и данные, хранящиеся в памяти GPU. Чтобы избежать простоев, GPU не пытаются минимизировать переходы в память при помощи больших кешей и прогнозирования, как это делают CPU. GPU пользуются задержкой, насыщая шину памяти для удовлетворения потребностей ввода-вывода тысяч потоков. Для этого кристалл (например, G80) реализует высокую пропускную способность памяти при помощи шести двусторонних шин памяти DRAM. GPU пользуются задержками памяти, в то время как CPU скрывают их при помощи огромного кеша и логике прогнозирования.

Fermi

Tesla была рискованным ходом, оказавшимся очень успешным. Она была настолько успешной, что стала фундаментом для GPU компании NVidia на следующие два десятка лет. «Хотя с тех пор мы, конечно же, внесли серьёзные архитектурные изменения (Fermi была серьёзным изменением архитектуры системы, а Maxwell стал ещё одним крупным изменением в проектировании процессоров), фундаментальная архитектура, представленная нами в G80, и сегодня осталась такой же [Pascal]».

Джона Албен (интервью extremetech.com)

В 2010 году Nvidia выпустила GF100, основанный на совершенно новой архитектуре Fermi. Внутренности её последнего чипа подробно описаны в технической документации Fermi[4]. Модель выполнения по-прежнему основана на warp-ах из 32 потоков, диспетчеризируемых в SM. NVidia удалось удвоить/учетверить все показатели только благодаря 40-нанометровому техпроцессу. Благодаря двум массивам из 16 ядер CUDA, SM теперь мог одновременно диспетчеризировать два полу-warp-а (по 16 потоков). При том, что каждое ядро выполняло по одной инструкции за такт, SM по сути был способен исключать по одной инструкции warp за такт (в четыре раза больше, чем у SM архитектуры Tesla). Количество SFU также увеличилось, однако не так сильно — мощность всего лишь удвоилась. Можно прийти к выводу, что инструкции такого типа использовались не очень активно. Присутствует полуаппаратная поддержка float64, при которой комбинируются операции, выполняемые двумя ядрами CUDA. Благодаря 32-битном АЛУ (в Tesla оно было 24-битным) GF100 может выполнять целочисленное умножение за один такт, а из-за перехода от IEEE 754-1985 к IEEE 754-2008 имеет повышенную точность при работе с конвейером float32 при помощи Fused Multiply-Add (FMA) (более точного, чем используемое в Tesla MAD). С точки зрения программирования, объединённая система памяти Fermi позволила дополнить CUDA C такими возможностями C++, как объект, виртуальные методы и исключения.

Благодаря тому, что текстурные блоки стали теперь SM, от концепции TPC отказались. Она была заменена кластерами Graphics Processor Clusters (GPC), имеющими по четыре SM.

И последнее — SM теперь одарён Polymorph Engine, занимающимся получением вершин, преобразованием окна обзора и тесселяцией.

Карта-флагман GeForce GTX 480 на основе GF100 рекламировалась, как содержащая 512 ядер и способная обеспечить 1 345 гигафлопс[5].

GF100, установленный в GeForce GTX 480. Обратите внимание на шесть контроллеров памяти, обслуживающих GPC.

Kepler

В 2012 году Nvidia выпустила архитектуру Kepler, названную в честь астролога, наиболее известного открытием законов движения планет. Как обычно, взглянуть внутрь нам позволила техническая документация GK104[6]. В Kepler компания Nvidia значительно улучшила энергоэффективность кристалла, снизив тактовую частоту и объединив частоту ядер с частотой карты (ранее их частота различалась вдвое). Такие изменения должны были привести к снижению производительности. Однако благодаря вдвое уменьшившемуся техпроцессу (28 нанометров) и замене аппаратного диспетчера на программный, Nvidia смогла не только разместить на чипе больше SM, но и улучшить их конструкцию. Next Generation Streaming Multiprocessor (SMX) — это монстр, почти все показатели которого были удвоены или утроены. Благодаря четырём диспетчерам warp-ов, способным на обработку целого warp-а за один такт (Fermi мог обрабатывать только половину warp-а), SMX теперь содержал 196 ядер. Каждый диспетчер имел двойную диспетчеризацию, позволявшую выполнять вторую инструкцию в warp-е, если она была независима от текущей исполняемой инструкции. Двойная диспетчеризация была не всегда возможна, потому что один столбец из 32 ядер был общим для двух операций диспетчеризации. Такая схема усложнила логику диспетчеризации (к этому мы ещё вернёмся), но благодаря выполнению до шести инструкций warp-ов за такт SMX обеспечивал удвоенную производительность по сравнению с SM архитектуры Fermi.

Заявлялось, что флагманская NVIDIA GeForce GTX 680 с кристаллом GK104 и восемью SMX имеет 1536 ядер, достигающими 3 250 гигафлопс[7]. Элементы кристалла стали настолько запутанными, что мне пришлось убрать со схемы все подписи.

GK104, установленный в GeForce GTX 680. Обратите внимание на полностью переделанные подсистемы памяти, работающие с захватывающей дух частотой 6 ГГц. Они позволили снизить количество контроллеров памяти с шести до четырёх.

Maxwell

В 2014 году Nvidia выпустила GPU десятого поколения под названием Maxwell. Как говорится в технической документации GM107[8], девизом первого поколения архитектуры стали «Максимальная энергоэффективность и чрезвычайная производительность на каждый потреблённый ватт».

Читайте также:  Новые наушники ATH-T200 от японской компании Audio-Technica

Карты позиционировались для «ограниченных в мощности сред, таких как ноутбуки и PC с малым форм-фактором (small form factor, SFF)». Важнейшим решением стал отказ от структуры Kepler с количеством ядер CUDA в SM, не являющимся степенью двойки: некоторые ядра стали общими и вернулись в работе в режиме половины warp-ов.

Впервые за всю историю архитектуры SMM имел меньше ядер, чем его предшественник: «всего» 128 ядер. Согласование количества ядер и размера warp-ов улучшило сегментацию кристалла, что привело к экономии площади и энергии. Один SMM 2014 года имел столько же ядер (128), сколько вся карта GTX 8800 в 2006 году.

Второе поколение Maxwell (описанное в технической документации GM200[9]) значительно повысило производительность, сохранив при этом энергоэффективность первого поколения.

Техпроцесс оставался на уровне 28 нанометров, поэтому инженеры Nvidia не могли для повышения производительности прибегнуть к простой миниатюризации. Однако уменьшение количества ядер SMM снизило их размер, благодаря чему на кристалле удалось разместить больше SMM. По сравнению с Kepler, второе поколение Maxwell удвоило количество SMM, при этом всего на 25% увеличив площадь кристалла. В списке усовершенствований также можно найти упрощённую логику диспетчеризации, позволившую снизить количество избыточных повторных вычислений диспетчеризации и задержку вычислений, что обеспечило повышение оптимальности использования warp-ов. Также на 15% была увеличена частота памяти.

Изучение структурной схемы Maxwell GM200 уже начинает напрягать глаза. Но мы всё равно внимательно его исследуем. Флагманская карта NVIDIA GeForce GTX 980 Ti с кристаллом GM200 и 24 SMM обещала 3072 ядер и 6 060 гигафлопс[10].

GM200, установленный в GeForce GTX 980 Ti.

Pascal

В 2016 году Nvidia представила Pascal. Техническая документация GP104[11] оставляет ощущение дежавю, потому что Pascal SM выглядит точно так же, как Maxwell SMM. Отсутствие изменений SM не привело к стагнации производительности, потому что 16-нанометровый техпроцесс позволил разместить больше SM и снова удвоить количество гигафлопс.

Среди других серьёзных улучшений была система памяти, основанная на совершенно новой GDDR5X. 256-битный интерфейс памяти благодаря восьми контроллерам памяти обеспечивал скорости передачи в 10 гигафлопс, увеличив на 43% пропускную способность памяти и снизив время простоя warp-ов.

Флагман NVIDIA GeForce GTX 1080 Ti с кристаллом GP102 и 28 TSM обещал 3584 ядер и 11 340 гигафлопс[12].

GP104, установленный в GeForce GTX 1080.

Turing

Выпуском в 2018 году Turing компания Nvidia произвела свой «крупнейший за десять лет архитектурный шаг вперёд»[13]. В «Turing SM» появились не только специализированные ядра Tensor с искусственным интеллектом, но и ядра для трассировки лучей (rautracing, RT).

Такая фрагментированная структура напоминает мне многослойную архитектуру, существовавшую до Tesla, и это ещё раз доказывает, что история любит повторения. Кроме новых ядер, в Turing появилось три важные особенности.

Во-первых, ядро CUDA теперь стало суперскалярным, что позволяет параллельно выполнять инструкции с целыми числами и с числами с плавающей запятой. Если вы застали 1996 год, то это может напомнить вам об «инновационной» архитектуре Pentium компании Intel.

Во-вторых, новая подсистема памяти на GDDR6X, поддерживаемая 16 контроллерами, способна теперь обеспечивать 14 гигафлопс. В-третьих, потоки теперь не имеют общих указателей инструкций (IP) в warp-е. Благодаря появившейся в Volta диспетчеризации Independent Thread Scheduling, каждый поток имеет собственный IP.

В результате этого SM способны гибче настраивать диспетчеризацию потоков в warp-е без необходимости как можно более быстрого их схождения.

Флагманская карта NVIDIA GeForce GTX 2080 Ti с кристаллом TU102 и 68 TSM имеет 4352 и достигает 13 45 гигафлопс[14]. Я не стал рисовать структурную схему, потому что она выглядела бы как размытое зелёное пятно.

Что ждёт нас дальше

По слухам, следующая архитектура под кодовым названием Ampere будет объявлена в 2020 году.

Так как Intel доказала на примере Ice Lake, что по-прежнему существует потенциал миниатюризации при помощи 7-нанометрового техпроцесса, почти нет сомнения в том, что Nvidia использует его для дальнейшего уменьшения SM и удвоения производительности.

Терафлопс/с для каждого кристалла/карты Nvidia (источник данных: techpowerup.com). Интересно будет посмотреть, как Nvidia продолжит эволюцию идеи кристаллов, имеющих три типа ядер, выполняющих разные задачи. Увидим ли мы кристаллы, целиком состояние из Tensor-ядер или RT-ядер? Любопытно.

Справочные материалы

[ 1] Источник: Revisiting the Business Card Raytracer [ 2] Источник: Fermi: The First Complete GPU Computing Architecture [ 3] Источник: NVIDIA GeForce 8800 GTX (techpowerup.com) [ 4] Источник: Fermi (GF100) whitepaper [ 5] Источник: NVIDIA GeForce GTX 480 [ 6] Источник: Kepler (GK104) whitepaper [ 7] Источник: NVIDIA GeForce GTX 680 [ 8] Источник: Maxwell Gen1 (GM107) whitepaper [ 9] Источник: Maxwell Gen2 (GM200) whitepaper [10] Источник: NVIDIA GeForce GTX 980 Ti [11] Источник: Pascal (GP102) whitepaper [12] Источник: NVIDIA GeForce GTX 1080 Ti [13] Источник: Turing (TU102) whitepaper [14] Источник: NVIDIA GeForce GTX 2080 Ti

Новости про Fermi и Tesla

МИР NVIDIAНовостиFermi

PR есть PR, но порой оговорка «гуманитариев» даёт больше сведений, чем воз документации от «технарей».

Bryan Del Rizzo, менеджер департамента PR потребительских продуктов, дал интервью журналистам сайта TechREACTION.net во время выставки PAX East 2010, сразу после презентации первых видеокарт на базе Fermi. Мы приводим выдержку фактов из данного интервью.

  • В NVIDIA, безусловно, желали выпустить своё DirectX 11-решение к выходу Windows 7, но при создании микросхем такой сложности предсказать срок получения конечного продукта очень тяжело — обычно приходится пройти через множество ревизий.
  • NVIDIA будет продвигать архитектуру Fermi в профессиональные применения и в HPC, но не в ущерб продвижению решений для игр.
  • GPU, предназначенные для карт линейки Tesla, будут отличаться по возможностям и производительности от GPU видеокарт GeForce. В частности, в GeForce нет ECC-технологии.
  • Новые разновидности графических процессоров и видеокарт на базе Fermi запланированы на вторую половину этого года, по крайней мере в финансовом плане.
  •  Del Rizzo не смог подтвердить планы о выпуске двухпроцессорного решения GF100, но сообщил, что создание такого решения не является невыполнимой задачей для NVIDIA.
  • Слухи о принуждении партнёров NVIDIA к приобретению минимум 80 видеокарт на базе GT2x0 для получения одной карты GTX 400 — это просто слухи.
  • В NVIDIA не особо опасались за тепловой пакет GTX 470 и 480, на первом месте стоял вопрос достижения высокой производительности, а дальше шло то соображение, что «топовые» видеокарты покупают люди, приобретающие также соответствующие корпуса, в которых проблемы с охлаждением современных компонентов не стоят так остро.
  • Теселляция DirectX 11 неизбежно станет основной «фишкой» компьютерных игр, и 16 блоков теселляции в Fermi обеспечат значительное преимущество над одним блоком Cypress и его производных.
  • Главное достоинство 3D Vision — отсутствие у разработчиков игр необходимости переписывать игру для поддержки стерео, всю работу делает стереодрайвер NVIDIA. Но результат оказался удивительным — спустя год продаж в NVIDIA обнаружили, что разработчики игр стали адаптировать игры для наилучшего восприятия в стереорежиме, что лишь подчёркивает правильность выбранного направления.
  • 3D Vision Surround получит признание и распространение. После многомониторного стерео вернуться к «стандартному» стерео так же сложно, как после стерео вернуться к обычному псевдостерео на экране монитора.
  • До тех пор, пока NVIDIA удаётся продвигать новые технологии в разработку приложений, все в компании делают свою работу правильно.

комментировать ​похожие новости

В то время, когда мы пока ещё теряемся в догадках относительно стоимости первых двух флагманских видеокарт GeForce GTX 480 и GTX 470 на базе архитектуры Fermi, появились сведения о том, что более дешёвые версии таких продуктов стоит ждать летом.

  • Дэвид Вайт, главный финансовый управляющий NVIDIA отметил, что вначале Fermi выйдет в качестве дорогих флагманских ускорителей серий GeForce и Tesla; где-то в середине года стоит ожидать выхода более дешёвых продуктов, которые выйдут в сериях GeForce, Quadro и Tesla.
  • Хотя господин Вайт не упомянул самые дешёвые видеокарты на базе Fermi, думается, ожидать их стоит во второй половине 2010 года.
  • Интересно, что видеокарты NVIDIA нового поколения будут официально выпущены во время конференции, посвящённой не графике, а вычислениям общего назначения, что, по видимому, должно подчеркнуть многофункциональную природу видеокарт компании.

комментировать ​похожие новости

Генеральный директор NVIDIA Jen-Hsun Huang показал журналистам образец карты Tesla на базе Fermi.

Собственно, карта:

Неизвестно, какой именно вариант новых карт Tesla был показан, C2050 или C2070, впрочем, отличия между ними лишь в объеме набортной памяти. Карта имеет 448 вычислительных ядер SPU.

Обращает на себя внимание наличие лишь одного 8-контактного разъема усиления питания — 75 Ватт из слота шины в худшем случае плюс 120 Ватт из одного разъема усиления дают лишь 195 Ватт, в то время как TDP для карт заявлено на уровне 190 Ватт. Обычно разъемы усиления делаются с запасом по питанию.

Впрочем, из других источников есть информация, что на карте имеется второй 6-контактный разъем усиления наверху.

Напомним, что NVIDIA уже демонстрировала инженерный образец карты Fermi в прошлом году, однако многие обозреватели заподозрили, что в тот раз был показан муляж.

комментировать ​похожие новости

NVIDIA тихо опубликовала спецификации своих продуктов семейства Tesla нового поколения, основанных на чипе Fermi.

Довольно неожиданной новостью стало то, что флагманский процессор Tesla C2070, как, впрочем, и Tesla C2050 будут иметь урезанное количество шейдерных процессоров: 448 вместо 512. Таким образом, NVIDIA отключит 2 из 16 вычислительных блоков чипа Fermi.

Читайте также:  Как выбрать караоке систему для дома: видео + отзывы

Как и сообщалось ранее, NVIDIA Tesla C2050 и C2070 — это одночиповые карты с объёмом GDDR5-памяти 3 Гб и 6 Гб (частоты от 3,6 до 4 ГГц) соответственно (при включении ECC, объём доступной памяти уменьшается до 2,625 Гб для C2050 и до 5,25 Гб для C2070). Производительность процессоров в вычислениях двойной точности составляет 520—630 гигафлоп/с.

Ранее предполагалось, что процессоры Tesla нового поколения будут иметь 512 шейдерных процессоров, ведь чип обладает именно таким количеством параллельных вычислительных блоков. Однако, компания решила урезать карты по каким-то неизвестным причинам. Возможно, в целях уменьшения количества отбракованных кристаллов или же сохранения приемлемого уровня энергопотребления.

Стоимость процессоров Tesla C2050 и C2070 составит в рознице 2500 $ и 4000 $ соответственно. Выход продуктов намечен на вторую четверть следующего года.

комментировать ​похожие новости

Инженеры Intel продемонстрировали способность Larrabee достичь обещанного уровня производительности не только в теории, но и в реальных бенчмарках.

На конференции по суперкомпьютерным технологиям SC`09, проходящей в Портленде (США), инженеры Intel продемонстрировали работающий прототип грядущего графического и вычислительного решения Larrabee и провели публичные измерения производительности в популярном «суперкомпьютерном» бенчмарке SGEMM (перемножение матриц с одинарной точностью). После ряда попыток показатель в бенчмарке всё-таки перевалил за психологически важную отметку в 1000 GFlops.

Хотя подобная производительность не является сама по себе уникальной — для GeForce GTX 285 заявлена цифра того же порядка, до появления Larrabee подобные показатели оставались преимущественно теорией. Даже в маркетинговых документах NVIDIA для карты Tesla C1060 в том же SGEMM указывает производительность лишь в 370 GFlops.

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

Larrabee уже существует в железе и уже показывает производительность большую, чем у текущих решений лидера рынка — NVIDIA, и ответить на этот вызов пока нечем — Fermi тоже существует лишь в качестве прототипа, показываемого издалека и без демонстраций производительности.

С другой стороны, выход Larrabee уже много раз откладывался, и как будет обстоять с программной поддержкой тоже пока ничего не ясно, а готовые решения вроде тех же плат NVIDIA Tesla с отлаженными инструментами для разработчиков уже доступны.

Да и для достижения рекорда инженерам Intel пришлось пойти на не вполне честный трюк с разгоном. Мы надеемся, что будущие решения NVIDIA на базе архитектуры Fermi смогут побить данный рекорд, хотя уже понятно, что им достанется мощный конкурент.

Но в мире суперкомпьютеров всё решат не пиковые цифры производительности в синтетических бенчмарках, а показатели производительности на Ватт и на доллар.

С учётом, что, по слухам, стоимость разработки Larrabee уже влетела Intel дороже суммарных расходов на разработки графических решений AMD и NVIDIA за три года вместе взятых, цена на Larrabee оставит широкое поле для обходных манёвров.

комментировать ​похожие новости

NVIDIA снова уверила журналистов в своей сильной приверженности игровой индустрии. Браен Дел Риззо сказал TG Daily, что слухи, будто NVIDIA оставляет игры и уходит на рынок серверов и высокопроизводительных ПК (HPC) не имеют под собой основания и просто нелепы.

«Игры остаются нашими средствами к существованию. Однако, для нашего роста есть и другие области, в том числе и рынок HPC».

«Сейчас есть две стороны архитектуры Fermi — вычисления и графика. Прошедшая выставка HPC была полностью посвящена стороне вычислений, поэтому мы продемонстрировали именно процессоры Tesla (на базе Fermi)».

Также он отметил, что хотя NVIDIA ещё не представила подробные сведения о своих видеокартах GeForce, они будут вскоре опубликованы, а ожидание будет вознаграждено сторицей отличными возможностями видеокарт на основе Fermi.

Господин Дел Риззо не мог не сказать и о том, что компания вкладывает огромные средства в развитие игрового рынка, продвигая стерео-технологию 3D Vision, физические вычисления PhysX на множестве платформ и помогая разработчикам внедрять аппаратные физические эффекты.

комментировать ​похожие новости

На днях NVIDIA представила свои новые потоковые процессоры Tesla 20-й серии, рассчитанные на рынок серверов и высокопроизводительных вычислительных систем.

Согласно данным NVIDIA, её самый мощный новый одночиповый процессор Tesla C2070 на базе чипа Fermi имеет пиковую мощность при вычислениях с двойной точностью на уровне 630 Гфлопс.

В сеть просочилась слайд с презентации потокового процессора AMD на базе чипа Cypress (RV870). По информации с этого изображения можно отметить, что ATI предоставляет более низкую мощность при вычислениях с двойной точностью — всего 544 Гфлопс.

комментировать ​похожие новости

Корпорация NVIDIA представила новую 20-ю серию параллельных процессоров Tesla, созданную для рынка высокопроизводительных систем и серверов и основанную на новой архитектуре Fermi.

Компания утверждает, что её решения позволяют сократить затраты на создание суперкомпьютера в 10 раз в сравнении с традиционными микропроцессорами при уменьшении энергопотребления в 20 раз.

Стоит отметить: в пресс-релизе говорится, что параллельные процессоры Tesla нового поколения будут доступны лишь во второй четверти следующего года.

Не говорит ли это об очередной отсрочке выхода игровых видеокарт, ведь NVIDIA обещала одновременный запуск GeForce, Quadro и Tesla на базе чипа Fermi? Однако пока официально выход видеокарт GeForce нового поколения намечен на первую четверть 2010 года.

Семейство Tesla 20-й серии включает в себя:

  • процессоры Tesla C2050 и C2070 GPU с пиковой производительностью при вычислениях с двойной точностью в 520 и 630 Гфлопс, с объёмом GDDR5-памяти 3 Гб или 6 Гб;
  • вычислительные системы Tesla S2050 и S2070, в каждой из которых установлено по 4 процессора Tesla нового поколения.

Tesla C2050 и C2070 обойдутся в 2500 $ и 4000 $, а Tesla S2050 и S2070 — в 13 000 $ и 19 000 $.

комментировать ​похожие новости

Компания NVIDIA сообщила, что ею будет показан в работе новый потоковый процессор Tesla на базе чипа нового поколения Fermi во время суперкомпьютерной конференции SC09.

SC09 будет проходить на следующей неделе, с 17 по 19 ноября в Портленде, штат Орегон. Это будет вторая демонстрация нового потокового процессора Fermi. Первая проходила в сентябре, во время GTC, при этом тогда карта была основана на предварительной версии чипа Fermi, а печатная плата имела ряд незавершённостей.

Во время SC09 будут показаны демонстрации, использующие мощь нового поколения архитектуры CUDA. Компания отмечает, что процессоры Tesla на базе чипа Fermi предоставляют тот же уровень производительности, что и центральные процессоры при 1/20 энергопотребления и 1/10 стоимости.

комментировать ​похожие новости

Как архитектура NVIDIA эволюционировала от Теслы до Тьюринга

В этой статье мы рассмотрим, как архитектура NVIDIA эволюционировала от Теслы до Тьюринга, поэтому сейчас самое время отойти в сторону и посмотреть, что особенного в каждой из этих архитектур, что вы можете найти в следующей таблице. ,

ГодАрхитектурасерияУмеретьЛитографический процессНаиболее представительный график
2006 Тесла GeForce 8 G80 90nm 8800 GTX
2010 ферми GeForce 400 GF100 40nm GTX 480
2012 Кеплер GeForce 600 GK104 28 нм GTX 680
2014 Максвелл GeForce 900 GM204 28 нм 980 GTX Ti
2016 Паскаль GeForce 10 GP102 16nm 1080 GTX Ti
2018 Тьюринг GeForce 20 TU102 12nm RTX 2080 Ti

Пат: эпоха до NVIDIA Tesla

До прихода Tesla в 2006 году NVIDIA GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР дизайн был соотнесен с логическими состояниями API рендеринга. В GeForce GTX 7900 Работает на матрице G71 и состоит из трех секций (одна предназначена для обработки вершин (8 единиц), другая для генерации фрагментов (24 единицы) и другая для объединения этих (16 единиц)).

Эта корреляция вынудила дизайнеров и инженеров придумывать расположение узких мест, чтобы правильно сбалансировать каждый слой. К этому добавилось прибытие DirectX 10 с затенением геометрии инженеры NVIDIA оказались между молотом и наковальней, чтобы уравновесить матрицу, не зная, когда и каким образом будет следующий этап графических API.

Пришло время менять как вы разрабатываете свою архитектуру .

Архитектура NVIDIA Tesla

NVIDIA решила проблему увеличения сложности с помощью своей первой «унифицированной» архитектуры Tesla в 2006 году. умереть G80 был больше нет различий между слоями.

Потоковые мультипроцессоры (SM) заменили все предыдущие диски благодаря их способности выполнять обработку вершин, генерацию сегментов и соединение сегментов без различия в одном ядре.

Таким образом, кроме того, нагрузка автоматически уравновешивается путем обмена «ядер», выполняемых каждым SM, в зависимости от потребностей каждого момента.

Таким образом, шейдерные блоки теперь являются «ядрами» (больше не совместимыми с SIMD), которые способны самостоятельно обрабатывать целочисленные инструкции или инструкции с плавающей запятой (SM получают потоки группами по 32 потока, называемыми деформациями).

В идеале все потоки в деформации будут выполнять один и тот же оператор одновременно только с разными данными (отсюда и название SIMT).

Блок многопоточных (MT) инструкций отвечает за включение и отключение потоков на каждой деформации в случае, если указатели инструкций (IP) сходятся или различаются.

Две СФУ единицы (вы можете увидеть их на диаграмме выше) отвечают за сложные математические вычисления, такие как обратные квадратные корни, синусы, косинусы, exp и rcp.

Эти блоки также способны выполнять одну инструкцию для каждого тактового цикла, но поскольку их всего две, скорость выполнения делится на четыре для каждого из них (то есть для каждого четырех ядер используется один SFU).

Читайте также:  Компьютер месяца — декабрь 2016

Аппаратная поддержка вычислений float64 отсутствует, и они выполняются программно, что значительно снижает производительность.

SM работает с максимальным потенциалом, когда задержку памяти можно устранить, всегда имея программируемые деформации в очереди выполнения, но также и тогда, когда поток деформации не имеет расхождений (это то, для чего нужен поток управления, который поддерживает их всегда в одном и том же путь инструкций). Файл журнала ( 4KB РФ ), где хранятся состояния потоков, а потоки, которые потребляют слишком много очереди выполнения, уменьшают количество их в этом журнале, что также снижает производительность.

«Флагманским» кристаллом этой архитектуры NVIDIA Tesla был G90, основанный на 90-нанометровом литографическом процессе, представленный в знаменитой GeForce 8800 GTX.

Два SM сгруппированы в кластер текстурного процессора (TPC) вместе с текстурным блоком и кешем Tex L1. С 8 TPC у G80 было 128 ядер, генерирующих полную мощность 345.6 Гфлопс.

GeForce 8800 GTX в то время пользовалась огромной популярностью.

С архитектурой Tesla NVIDIA также представила язык программирования CUDA (Compute Unified Devide Architecture) в C, расширенный набор C99, который был долгожданным облегчением для энтузиастов GPGPU, которые приветствовали альтернативу обмануть GPU с помощью шейдеров и текстур GLSL.

Хотя в этом разделе основное внимание уделялось SM, они составляли лишь половину системы.

SM должны получать инструкции и данные, находящиеся в графической памяти графического процессора, поэтому, чтобы избежать застоя, графические процессоры не избегают «отключений» памяти с большим количеством кэш-памяти, как это делают процессоры (ЦП), а, скорее, они загромождают память bus для запросов ввода / вывода от тысяч управляемых потоков. Для этого в микросхеме G80 была реализована высокая производительность памяти через шесть двунаправленных каналов памяти DRAM.

Архитектура Ферми

Тесла был очень рискованным шагом, но он оказался очень хорошим, и он был настолько успешным, что стал основой архитектур NVIDIA на следующие два десятилетия. В 2010 году NVIDIA выпустила GF100 умереть на основе нового ферми архитектура, с многочисленными новыми функциями внутри.

Модель исполнения все еще вращается вокруг 32-проводных деформаций, запрограммированных в SM, и это было только благодаря 40нм литография (по сравнению с 90-нм техпроцессом Tesla), что NVIDIA почти все увеличила в четыре раза.

SM теперь может программировать два медиа-деформирования (16 потоков) одновременно благодаря двум наборам из 16 ядер CUDA.

Когда каждое ядро ​​выполняло одну инструкцию за такт, один SM смог выполнить одну инструкцию деформации за цикл (а это в 4 раза больше, чем у Tesla SM).

Счетчик SFU также был усилен, хотя и в меньшей степени, потому что он «просто» умножился на два, всего четыре единицы.

Также была добавлена ​​аппаратная поддержка вычислений float64, которых не хватало Tesla, выполняемых двумя объединенными ядрами CUDA.

GF100 может выполнять целочисленное умножение за один такт благодаря 32-битному ALU (по сравнению с 24-битным в Tesla) и имеет более высокую точность с плавающей запятой.

С точки зрения программирования, унифицированная система памяти Fermi позволила расширить CUDA C такими функциями C ++, как виртуальные объекты и методы.

Поскольку текстурные блоки теперь являются частью SM, понятие TPC исчезло, его заменили кластеры графического процессора (GPC), которые имеют четыре SM.

И наконец, что не менее важно, был добавлен механизм «Полиморфа» для обработки вершин объектов, преобразования представления и тесселяции.

Графическим флагманом этого поколения была GTX 480 с 512 ядрами, полная мощность которой составляла 1,345 Гфлопс.

Архитектура NVIDIA Kepler

В 2012 году появилась архитектура NVIDIA Kepler, с которой энергоэффективность его матрицы была значительно улучшена за счет понижения тактовой частоты и объединения центральных тактовых импульсов с тактовой частотой карты (они раньше имели частоту в два раза), что позволило решить проблему GTX 480 предыдущего поколения (они сильно нагревались и имели очень высокий расход).

Эти изменения должны были привести к снижению производительности, но благодаря внедрению 28-нм литографического процесса и исключению аппаратного программиста в пользу программного, NVIDIA смогла не только добавить больше SM, но и улучшить свой дизайн. ,

«Мультипроцессор потоковой передачи следующего поколения», известный как SMX, оказался монстром, в котором почти все увеличилось вдвое или даже втрое.

Благодаря четырем программаторам деформации, способным обрабатывать всю деформацию за один такт (по сравнению с конструкцией Ферми, разделенной на две половины), SMX теперь содержит 196 ядер.

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

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

Флагманской графикой этого поколения была GeForce GTX 680 с кристаллами GK104 и 8 SMX, которые содержали невероятное количество 1536 ядер и обеспечивали до 3,250 GFLOP полной мощности.

Архитектура NVIDIA Maxwell

В 2014 году появилась архитектура NVIDIA Maxwell, ее графические процессоры 10-го поколения.

Как они объяснили в своей технической документации, в основе этих графических процессоров лежит «исключительная энергоэффективность и исключительная производительность на потребляемый ватт», и именно поэтому NVIDIA ориентировала это поколение на системы с ограниченным энергопотреблением, такие как мини-ПК и ноутбуки.

Главное решение состояло в том, чтобы отказаться от подхода Кеплера к SMX и вернуться к философии Ферми о работе с искаженными носителями.

Таким образом, впервые в своей истории SMM имеет меньше ядер, чем его предшественник с «всего» 128 ядрами.

Регулировка количества сердечников к размеру основы улучшила структуру матрицы, что привело к значительной экономии занимаемого пространства и потребляемой энергии.

Второе поколение Maxwell значительно улучшило производительность, сохранив энергоэффективность первого поколения.

Поскольку литографический процесс по-прежнему застопорился до 28 нм, инженеры NVIDIA не могли полагаться на миниатюризацию транзисторов для повышения производительности, но меньшее количество ядер на SMM уменьшало их размер, позволяя им соответствовать большему количеству SMM. в тот же день. Maxwell Gen 2 содержит вдвое больше СММ, чем Кеплер, и его площадь увеличена только на 25%.

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

Диаграмма чипа GM200, которую мы видим выше, почти начинает ранить глаз, верно? Это матрица, которая включала в себя GTX 980 Ti с 3072 ядрами в 24 SMM и обеспечивала общую мощность 6,060 GLOP.

Архитектура NVIDIA Pascal

В 2016 году появилось следующее поколение NVIDIA Pascal, и техническая документация выглядела почти как точная копия SMM Максвелла. Но то, что в SM нет никаких изменений, не означает, что не было никаких улучшений, и на самом деле 16-нм техпроцесс, используемый в этих микросхемах, существенно улучшил производительность за счет возможности разместить больше SM на одном чипе.

Другими важными усовершенствованиями стали система памяти GDDR5X, новинка, обеспечивающая скорость передачи до 10 Гбит / с благодаря восьми контроллерам памяти, а ее 256-битный интерфейс обеспечивает пропускную способность на 43% больше, чем в предыдущем поколении.

Графическим флагманом поколения Pascal был GTX 1080 Ti, с его кристаллом GP102, который вы можете видеть на изображении выше, и его 28 SM, упакованными в общей сложности 3584 ядра для общей мощности 11,340 11.3 GLOP (у нас уже XNUMX TFLOP ).

Архитектура NVIDIA Turing

Запущенная в 2018 году архитектура Turing была «самым большим архитектурным скачком за более чем десятилетие» (по словам NVIDIA).

Был добавлен не только SM Turing, но и впервые было представлено специализированное оборудование для трассировки лучей с тензорными ядрами и ядрами RayTracing.

Этот дизайн предполагает, что матрица снова была «фрагментирована» в стиле слоев до эпохи Тесла, о которой мы рассказывали вам в начале.

В дополнение к новым ядрам, Тьюринг добавил три основные функции: во-первых, ядро ​​CUDA теперь масштабируемое и способно выполнять как целочисленные, так и инструкции с плавающей запятой параллельно (это напомнит многим «революционным» Intel Архитектура Pentium там сзади. 1996 год). Во-вторых, новая система памяти GDDR6, поддерживаемая 16 контроллерами, которые теперь могут достигать 14 Гбит / с, и, наконец, потоками, которые больше не разделяют указатели инструкций в деформациях.

Благодаря независимому программированию потоков, введенному в Volta (который мы здесь не включаем, поскольку это не ориентированная на пользователя архитектура), каждый поток имеет свой собственный IP, и, как результат, SM могут свободно программировать потоки в деформации без необходимость ждать их сближения как можно скорее.

Вершина линейки графиков этого поколения — RTX 2080 Ti с его кристаллом TU102 и 68 TSM, содержащим 4352 ядра, с общей мощностью 13.45 TFLOP. Мы не помещаем его полную блок-диаграмму, как в предыдущих, потому что для того, чтобы она поместилась на экране, ее пришлось бы сжать настолько сильно, что это стало бы размытием.

И что будет дальше?

Как вы хорошо знаете, следующая архитектура NVIDIA называется Ampere, и она наверняка прибудет с производственным узлом на расстоянии 7 нм от TSMC. Мы обновим эту статью, как только все данные будут доступны.

Ссылка на основную публикацию
Adblock
detector