NVIDIA Turing GeForce RTX технологии и архитектура

//NVIDIA Turing GeForce RTX технологии и архитектура

NVIDIA Turing GeForce RTX технологии и архитектура

Введение

NVIDIA Turing GeForce RTX технологии и архитектура. Nvidia Turing является основным секретом компании, на создание которого ушло 15 лет. Архитектура представляет функцию, которую NVIDIA считает огромным прорывом. И это может быть самой большой инновацией в 3D-графике реального времени. Причем со времен внедрения программируемых шейдеров с начала прошлого десятилетия.

NVIDIA GTX 1060 и GTX 1050 преемники 2019

Трассировка лучей в реальном времени действительно считается святым Граалем 3D-графики. В основном из-за огромного количества вычислений, необходимых для ее работы. Новое семейство видеокарт GeForce RTX обещает передать в руки геймеров подобие трассировки лучей. Осталось только купить купальник в интернет магазине чтобы все было на ура.

На данный момент мы называем это подобием. Все потому что NVIDIA приняла некоторые очень умные трюки, чтобы заставить это работать.  И полученные 3D-сцены, как правило, напоминают рендеры, которые прошли часы трассировки лучей.

Примерно в это же время в прошлом году, когда мы впервые услышали кодовое имя «Тьюринг». Мы естественно проедполагали что Nvidia может быть планирует нажиться на блокчейн буме того времени. Так как архитектура названа в честь математика, который спас миллионы жизней, взломав криптографию нацистской «Энигмы». Что очень помогло привести Вторую Мировую войну к скорому концу. Мало ли мы знаем, что дань NVIDIA Алану Тьюрингу не просто его достижениями в криптографии. А скорее, его общей репутацией отца искусственного интеллекта и теоретических вычислений.

NVIDIA Turing GeForce RTX технологии и архитектура

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

Таким образом, NVIDIA построила первый компонент с фиксированной функцией для тензорных ops. В народе называемый просто «тензорными ядрами». Это большие специализированные компоненты, вычисляющие умножение матриц 3x3x3. Тензорные ядра дебютировали с архитектурой «Вольта». Которая, как мы думали в то время, станет естественным преемником «Паскаля».»Тем не менее, NVIDIA решила, что настало время вытащить технологию RTX из печи.

Графическая архитектура Тьюринга представляет третий (и последний) кусок аппаратной головоломки Nvidia. Которая делает амбициозные планы NVIDIA по трассировке лучей рабочими-ядрами RT вполне реальными. Ядро RT-это аппаратное обеспечение с фиксированной функцией. Которое делает то, что сделал духовный предок RTX. —  NVIDIA Optix, с ядрами CUDA. Вы вводите математическое представление луча. И он будет пересекать сцену, чтобы вычислить точку пересечения с любым треугольником в сцене.

NVIDIA RTX-это всеобъемлющая, очень гибкая модель трассировки лучей в реальном времени. Она много значит для потребительской графики. Она стремится свести к минимуму набор инструментов и кривую обучения для современных программистов 3D-графики. Модель стремится оказать столь же ощутимое влияние на реализм, как сглаживание, программируемые шейдеры и тесселяция. Все это вызвало скачки в вычислительной мощности GPU. В Turing технологии, комбинация ядер CUDA последнего поколения работает с новым компонентом. Его название — RT Core. А так же с и тензорными ядрами, чтобы заставить технологию RTX работать.

NVIDIA дебютировала RTX с линейкой профессиональных видеокарт Quadro RTX сначала на SIGGRAPH 2018. И не только потому, что событие предшествует Gamescom. Но и потому, что оно дает создателям контента фору в технологии. Семейство GeForce RTX является первым за десятилетие, у которого нет «GTX» в его брендинге. Что говорит о том, насколько компания верит в успех RTX.

В этой статье мы углубимся во внутреннюю работу технологии NVIDIA RTX. И архитектуру графического процессора Turing. А также в то, как они объединены в первых трех видеокартах GeForce RTX 20-series. Которые кстати вы сможете приобрести в конце этого месяца.

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

Архитектура Turing TU102 Turing TU104 и Turing TU106

Архитектура Turing TU102 Turing TU104 и Turing TU106

Когда NVIDIA опубликовала первый снимок чипа Turing, он сильно выделялся. Он значительно отличался от любого графического процессора NVIDIA, который мы видели за десятилетие. Блок-схемы показывают, что первые две реализации Тьюринга TU102 и TU104, более или менее сохраняют иерархию компонентов своих предшественников. Ведь эта иерархия необходима для работы современных ГПУ.

Но есть множество изменений в SM (потоковых мультипроцессоров), неделимых подразделений ГПУ. Представлены РТ ядра и тензорные ядера. Так же добавлен и новый варп планировщик, который позволяет одновременное int32 и FP32 выполнение. Это функция, которая может улучшить в целом асинхронные вычислительные функций чипа.

Мы углубимся в механику работы ядра Turing CUDA core. SM, RT core и тензорных ядер далее в статье.

Turing TU102 архитектура чипа

В TU102 Тьюринг состоит из самого большого куска кремния из когда-либо задуманных. Построенный на процессе 12 нм, как и остальная часть семьи Тьюринга, этот чип имеет на борту колоссальные 18 миллиардов транзисторов.  И кроме того  обещает TDP всего 250 Вт. Чип вооружен шестью GPC (кластерами обработки графики). Где каждый из которых содержит двенадцать потоковых многопроцессоров (SM), неделимый подраздел GPU. Следовательно в чипе TU102 всего 72 потоковых мультипроцессора.

Turing TU102 архитектура чипа

Добавление тензорных ядер и ядер RT оставляет место только для 64 ядер CUDA на SM. Или 768 на GPC и 4608 на кристалл. В отличие от GV100, тензорное ядро занимает примерно в восемь раз больше площади кристалла ядер CUDA. А SM имеет 8 тензорных ядер, или 96 тензорных ядер на GPC и 576 на всем GPU. Ядро RT является самым большим неделимым компонентом в SM, и на каждом SM есть только одно такое. 12 на GPC и 72 на кристалле. 384-разрядная шина памяти GDDR6 обрабатывает до 24 ГБ памяти GDDR6.

Увы, GeForce RTX 2080 Ti, как и его предшественник, GTX 1080 Ti, не выжимает все из TU102. Только 68 из 72 SMs задействованы, что дает нам 4352 ядер CUDA, 544 тензорных ядер и 68 ядер RT. Шина памяти также сужена до 352 бит, и управляет 11 ГБ памяти. С Turing, NVIDIA чуть притормаживает тенденцию удвоение объема памяти с каждым поколением. Возможно, в этом виновато состояние драм-индустрии, а также отсутствие необходимости и запросов, вдвое превышающих память предыдущего поколения.

Turing TU104 архитектура чипа

Turing TU104 можно считать лицом архитектуры Turing, так же, как и его длинная линия предшественников. Таких как GK104 «Kepler» (GTX 680). Этот чип служит основой GeForce RTX 2080. И что интересно, карта не использует все компоненты, физически присутствующие на чипе. Возможно, по слухам, RTX 2080+ как раз для этого.

Другим ключевым отличием TU104 от своих предшественников является количество GPC по сравнению с их более крупными аналогами. В TU104 имеет то же точное количество GPC как TU102.  6, с той лишь разницей, что колличество SM больше на GPC. Хотя TU102 имеет 12 SMS в ГПЦ на TU104 их аж 8. Эти SM имеют ту же конфигурацию, что и TU102.

Turing TU104 архитектура чипа

Максимально TU104 будет иметь 3,072 ядра CUDA, 384 тензорных ядра и 48 ядер RT. RTX 2080 не использует на максимум это чип, так как 2 SM отключены. Это означает 2944 ядра CUDA, 368 тензорных ядер и 46 ядер RT. К счастью, интерфейс памяти не ограницен. 256-битная широкая шина памяти GDDR6 тянет 8 ГБ памяти на RTX 2080.

Turing TU106 архитектура чипа

TU106 — очень интересный чип, и NVIDIA создает RTX 2070, а не RTX 2060 series на этом чипе. Предшественники RTX 2070 (GTX 1070, GTX 970 и др.,) традиционно основаны на предшественниках TU104. Где несколько потоковых мультипроцессоров отключены. С RTX 2070 NVIDIA решила пойти с физически меньшим чипом, чем TU 104. Вероятно, чтобы минимизировать затраты на производство самого продаваемого SKU.

Turing TU106 архитектура чипа

В TU106 не совсем является преемником GP106. Это оп сути половина чипа TU102. Чип имеет три GPC, каждый из которых имеет 12 см, так же, как TU102. И в отличие от TU 104, который имеет 8 Sims на каждом GPC. 256-битный интерфейс памяти GDDR6 посностью переносится с TU 104.

Будучи» половиной TU102″, TU106, следовательно, имеет 36 SMs или 768 ядер CUDA за GPC. Это работает до 2,304 ядер CUDA в общей сложности. Тензор ядер 288 и 36 ядер РТ. RTX 2070 максимально использует этот чип.

TU106 не имеет интерфейса NVLink, и, следовательно, RTX 2070 не имеет поддержки SLI, что довольно неудачно для видеокарты стоимостью 500 долларов.

Видеокарты GeForce RTX 2080 Ti, GeForce RTX 2080 и GeForce RTX 2070

GeForce RTX 2080 Ti

Видеокарта RTX 2080 Ti i-это топовая видеокарта, основанная на архитектуре Тьюринга. Карта ориентирована на компьютерных энтузиастов, которые любят игры с большим разрешением 4K для NVIDIA BFGD (большой формат игровой дисплей) мониторов.

Как и его предшественник, RTX 2080 Ti точно не использует на максимум чип, на котором карта создана. Карта имеет 68 из 72 потоковых многопроцессоров (SMs), физически присутствующих на чипе, который использует 4352 из 4608 ядер CUDA. Так же 544 из 576 тензорных ядер и 68 из 72 ядер RT. Шина памяти имеет ширину 352 бита и содержит 11 ГБ памяти, так же как и ее предшественник. Но стандарт памяти увеличен до GDDR6.

GeForce RTX 2080 Ti

NVIDIA не указала эталонные частоты этого GPU в материале, который мы можем поделиться на данный момент. Но номинальная частота GPU Boost составляет 1545 МГц для справки и 1635 МГц для SKU Founders Edition. Память тикает на 14 Гбит/с, что на 27 процентов выше, чем 11 Гбит/с, которыми пользовался GTX 1080 Ti. В результате получаем пропускную способность памяти 616 ГБ/с.

NVIDIA оценивает RTX 2080 Ti в $ 999, а SKU Founders Edition-за $1,199. Партнеры NVIDIA могут продавать SKU по индивидуальному дизайну, так что вряд ли вы найдете карты с базовыми ценами.

GeForce RTX 2080

GeForce RTX 2080-вторая по скорости карта (на данный момент) и может стать вашим билетом в 4K-игры на 60 Гц. У видеокарты достаточно мощи, чтобы испытать всю прелестьRTX, за которую вы платите $699. Это как минимум. Как мы упоминали ранее, даже RTX 2080 не использует на максимум чип, на котором она основана. Только 46 из 48 потоковых мультипроцессоров, физически присутствующих на кристалле являются активными.

Таким образом, чип имеет 2944 из 3072 ядер CUDA. 46 из 48 ядер RT и 368 тензорных ядер. Не максимизируя TU104, NVIDIA дает возможность исследовать премиальный «RTX 2080+» в будущем. Или это может быть просто средством повышения прибыли компании.

GeForce RTX 2080

GPU тикает до 1515 МГц в номинале и 1710 МГц GPU boost в эталонной конструкции. А boost частоты немного завышены — 1800 МГц на Founder edition SKU. Память летает на 14 Gbps, и вы получаете 448 GB/s ширину полосы частот памяти.

NVIDIA запускает RTX 2080 по $ 699 (номинальная цена). И $799 для Фаундер едишн SKU. Эти цены конкурируют с предыдущим поколением флагмана GTX 1080 Ti. И будем надеяться что карты того стоят.

GeForce RTX 2070

GeForce RTX 2070 является последним в длинной линейке производительности — сегменте SKU. NVIDIA продала тонны, будь то GTX 1070, GTX 970 или GTX 670. Вы получаете высококачественный набор функций по гораздо более низкой цене, чем более мощный SKU. Однако, в отличие от своих предшественников, RTX 2070 не имеет того чипа, что и RTX 2080. Изпользуется Turing TU106.

Как мы объяснили на предыдущей странице, NVIDIA искала физически меньший чип для RTX 2070. Все чтобыне тратить производственные затраты на более крупный чип с отключенными SMs. которые в противном случае функциональны на других картах. TU106-это большой шаг вперед от GP106. Это половина TU102 (большой чип), в то время как его предшественники традиционно были половиной второго большого чипа (GP106, например, половина GP104).

GeForce RTX 2070

Вы получите полный 256-битный интерфейс памяти GDDR6. Те же 8 ГБ памяти, и 448 ГБ/с пропускной способности памяти. Так же как у RTX 2080. Но ровно половину из CUDA/Tensor/RT ядер RTX 2080 Ti, — 2,304 ядер CUDA, 288 тензора ядер, 36 ядер РТ. RTX 2070 идеально подходит для суб-4К разрешений, таких как 1440р. Или даже определенных резолюций UIltrawide, таких как 3440×1440.

Ядро RTX 2070 с тактовой частотой 1410 МГц, с 1620 МГц GPU Boost, который увеличили до 1710 МГц в  премиальных SKU. Когда видеокарта выйдет на рынок в октябре этого года, RTX 2070 стартанет с $499. А его фаундер едишн SKU-за $599.

Спекулятивные SKU

В то время как NVIDIA выпускает семью Тьюринга с RTX 2080 Ti, RTX 2080, and RTX 2070 в на видимом фронте, но учитывая как реализованы TU102, TU104, и TU106 чипы это приводит нас к мысли о некоторых возможных конфигурациях. Это чисто спекуляция с нашей стороны, и никакая информация от NVIDIA не предполагает, что они даже существуют. Некоторые из них могут не существовать. А некоторые вполне могут быть реальны.

  • Titan X Turing: сначала низко висящие фрукты. Titan X Turing, который мы предполагаем, будет оценен в $ 1499, если не больше, может на максимум использовать чип TU102. Включая полную шину памяти 384-bit, 12 ГБ памяти и более высокие частоты.
  • Видеокарта GeForce RTX2080+: в Nvidia решили не выжимать все из TU104. Что приводит нас к предположению, что новый SKU, расположенный чуть выше RTX 2080 учредителей издания, может быть на горизонте. У карты  все компоненты  TU104 будут задействованы, и карта получит более высокие частоты. Существует также ценовой разрыв между RTX 2080 и RTX 2080 Ti для заполнения.
  • GeForce RTX 2070 Ti: что делает NVIDIA со всеми чипами TU104, которые имеют менее 46/48 потоковых процессоров? Скорее создаст новый SKU, который расположен на полпути между RTX 2070 и RTX 2080 с точки зрения количества ядер CUDA и тактовых частот.
  • GeForce RTX 2060 series: TU106 дает NVIDIA свободу не только для питания RTX 2070 в максимальной форме, но и для сегмента» sweetspot » RTX 2060 series. Эта линейка может увидеть свет дня либо к концу 2018 года, либо после того, как NVIDIA убедится, что запасы текущего поколения достаточно хорошо перевариваются.

GDDR6 Память

GDDR6 DRAM является прямым преемником GDDR5X. Который, в свою очередь, использовался только семейством графических карт NVIDIA Pascal. Как и в прошлый раз, NVIDIA объединилась с DRAM-индустрией, чтобы помочь продвинуть возможности графической памяти. И тем самым не вкладывая гораздо больше средств в HBM2, который является более дорогой альтернативой, особенно когда речь идет о потребительском рынке.

Хотя различия между GDDR5X и GDDR6 не так велики, как изменение от GDDR5 к GDDR5X, все еще есть некоторые различия. Начнем с того, что тактовые частоты были увеличены до 10-16 Гбит / с, а NVIDIA решила использовать 14 Гбит / с для текущих видеокарт.

Во-вторых, GDDR6 разделяет память по два канала на чип, позволяя, например, 32-битному чипу выводить два независимых 16-битных канала. то, в свою очередь, должно помочь в дальнейшем с показателями мощности и производительности в сильно распараллеленных сценариях. На которых обычно и работают графические процессоры. GDDR6 может иметь рабочее напряжение 1,35 В или 1,25 В. Последнее в случаях, когда сниженная скорость передачи данных не критична. Это аналогично с GDDR5X, который имеет указанное рабочее напряжение 1,35 В. Это означает, что принятие GDDR6 предоставляет много вариантов для более тепло — и энергоэффективных решений. Хотя это еще предстоит выяснить, будет ли это происходить с ощутимым дефицитом потенциала производительности.

Наконец, возможно, наиболее впечатляющим отличием является то, что в отличие от GDDR5X, ожидается, что все основные поставщики DRAM примут GDDR6. Мы уже видели анонсы от Micron, Hynix и Samsung, а это означает, что GDDR6 станет рабочей лошадкой памяти новых поколений графических карт. От AMD и NVIDIA, так же, как GDDR5 была в прошлом.

Сжатие без потерь с аомощью цвета

В течение нескольких поколений графические процессоры NVIDIA имели технологию сжатия памяти без потерь. Которая уменьшает требования к пропускной способности памяти. В двух словах, графический процессор будет искать повторяющиеся пиксели в текстурах и, вместо того, чтобы хранить каждый повторяющийся пиксель, он будет хранить только «повторить синий, 4×4 блок». Аналогично, если цвета соседних пикселей схожи, в нем будет сохранено, как вычислить цвет следующего пикселя из цвета предыдущего пиксела. Тем самым используя несколько бит вместо полного 32-разрядного значения цвета RGB.

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

Фактически, цветовое сжатие означает меньшее количество данных для записи и передачи из VRAM в кэш L2. Этот уменьшенный трафик распространяется вниз по линии с меньшим количеством передач данных между клиентами. Включая вышеупомянутую игровую текстуру и фреймбуфер памяти. С Turing, NVIDIA разработала метод сжатия цвета 5-го поколения, который улучшает степень сжатия более чем на 25% по сравнению с микроархитектурой Pascal. Который, в свою очередь, уже на 20% эффективнее по сравнению с Maxwell — для дальнейшего контекста.

Знакомимся с трассировкой лучей в реальном времени

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

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

Растеризация

Знакомимся с трассировкой лучей в реальном времени

Давайте начнем с растеризации, которая является методом, который все игры сегодня используют для рендеринга. Все начинается с объектов, которые состоят из треугольников и помещаются в сцену во время генерации каждого кадра. На более позднем этапе все треугольники этих объектов проецируются на экран. В принципе, они превращаются в 2D-представление на экране из 3D-представления в сцене. Это выполнено для каждого одиночного видимого треугольника в сцене, которая может быть миллионами в современных играх.

Растеризация

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

Знакомимся с трассировкой лучей в реальном времени

Решение этой проблемы называется Z-буферизацией (или буферизацией глубины). Каждый раз, когда пиксель на экране заполняется, второй буфер записывает, как далеко этот треугольник находится. Каждый пиксел в этом буфере инициализируется очень большим значением. Теперь, когда пиксель записывается на экран, сначала проверяется Z-буфер, чтобы выяснить, имеет ли он значение меньше, чем у текущего пикселя. Что значит дальше треугольник или ближе. Если это так, предыдущий треугольник, который ближе к экрану, уже заслонил этот пиксель, а текущий пиксель отбрасывается, потому что он скрыт за другими.

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

Трассировка лучей

Трассировка лучей

Трассировка лучей использует совершенно другой подход. Так же, как и в растеризации, виртуальная сцена состоит из большого количества треугольников, которые представляют объекты в игровом мире. Но вместо того, чтобы проецировать эти треугольники на экран, трассировка лучей стреляет луч для каждого пикселя монитора в игровой мир. Тем самым ища точки пересечения («куда луч попадает»). Поскольку луч распространяется от монитора в мир, он автоматически решит проблему видимости, потому что первое, с чем он пересекается, будет треугольник, ближайший к экрану. Если пересечение не найдено («Ray miss»). То луч никогда не попадает на объект, и его пиксельный цвет выбирается для представления цвета неба, например.

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

Теперь я слышу, как вы спрашиваете: «А как насчет теней? а отражения?».

Тени и отражения в трассировке лучей

Тени и отражения в трассировке лучей

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

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

Отражения получаются аналогичным образом. Когда луч света попадает на поверхность, в зависимости от свойств материала, он либо отражается, либо преломляется. Этот эффект может быть аппроксимирован довольно легко математически. Все, что вы делаете сейчас, — это трассировка этого нового луча. Возможно, изменяя его направление несколько раз, когда он попадает на другой отражающий объект. Пока он не попадает на объект, который больше не отражает (непрозрачный диффузный). Он и определяет цвет пикселя на экране. Другие поверхности на пути могут внести вклад в цвет этого пиксела, в зависимости от их материальных свойств.

Трассировка Пути

Трассировка Пути

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

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

 

 

 

Оставить комментарий