На выставке Computex 2021 ранее в этом месяце AMD представила FidelityFX Super Resolution, новую технологию пространственного масштабирования, направленную на обеспечение высококачественного игрового процесса с высоким разрешением. Рекламируемая как конкурент NVIDIA DLSS 2.
0, AMD всколыхнула множество голов с этой грядущей технологией. Теперь AMD FSR наконец-то запущена, и, судя по текущим тестам, она выглядит весьма впечатляюще.
Однако, прежде чем мы углубимся в подробности того, соответствует ли AMD FSR DLSS, позвольте нам рассказать вам все, что вам нужно знать о AMD FSR.
AMD FSR (FidelityFX Super Resolution): объяснение!
В этой статье мы подробно расскажем, что такое AMD FSR, как работает FidelityFX Super Resolution и как включить его для улучшения работы в поддерживаемых играх. Так что не стесняйтесь читать все или использовать приведенную ниже таблицу, чтобы перейти к желаемому разделу.
Что такое AMD FSR?
AMD FidelityFX Super Resolution — это версия технологии масштабирования изображения от AMD, которая призвана улучшить общее впечатление от игры.
Запущенный как последний эффект в AMD Fidelity FX Suite, наборе инструментов компании с открытым исходным кодом для обеспечения качества изображения для разработчиков игр, AMD FSR будет чисто масштабировать края внутриигровых объектов, чтобы создать иллюзию более высокого разрешения рендеринга, когда вы играете в нижний.
По данным AMD официальный блог, «Благодаря FidelityFX Super Resolution геймеры могут рассчитывать на получение в среднем 2,4 раза большей производительности при работе с 4K в режиме« FSR Performance »в некоторых играх». Кроме того, вам будет приятно узнать, что AMD FSR будет доступна на ПК, а также на консолях следующего поколения, включая Xbox Series S / X и PS5.
AMD FSR является прямым конкурентом NVIDIA DLSS, другой популярной технологии апскейлинга, которая использует собственный набор методов для достижения аналогичных результатов. Однако, хотя технологии кажутся похожими, некоторые различия отличают их друг от друга (подробнее об этом ниже).
Улучшит ли AMD FSR мой игровой процесс?
Определенно. Поскольку AMD FSR нацелена на предоставление текстур с более высоким разрешением и лучшей частотой кадров без большой нагрузки на графический процессор игрока, игроки увидят повышение производительности в играх с поддержкой FSR (см.
Список ниже). Компания протестировала технологию FSR в популярных играх, таких как Godfall, The Riftbreaker и других, на Radeon RX 6900 XT.
Вы можете проверить сравнение производительности при выключенном и включенном AMD FSR, используя приведенную ниже таблицу:
Давайте рассмотрим пример. Предположим, вы играете в игру на мониторе 4K с выходным разрешением 4K и включенным FSR. В зависимости от выбранного вами режима технология будет гарантировать, что игра будет работать с более низким внутренним разрешением (например, 1080p), а FSR реконструирует и масштабирует выходное изображение, близкое к 4K.
Таким образом, вы получите результат игры в формате 4K с более высокой частотой кадров, и вашей видеокарте не придется так сильно работать. Точно так же, если вы играете с разрешением 1080p, вы можете получить качество выше 1440p, не нагружая свой графический процессор.
Что касается настройки, AMD FSR позволяет выбрать один из четырех режимов качества в зависимости от ваших потребностей. Это режимы «Ультра качество», «Качество», «Сбалансированный» и «Производительность».
Режим Ultra Quality увеличит частоту кадров в игре, обеспечивая максимально близкое к исходному разрешению разрешение и максимальную детализацию. Однако выходное разрешение будет немного ниже по сравнению с тем, что вы установили. Таким образом, в случае разрешения 4K, которое составляет 3840 x 2160, FSR будет рендерить с разрешением 2954 x 1662 в Ultra Quality.
Разрешение будет снижаться при выборе других режимов, таких как «Сбалансированный» и «Производительность».
Вы все равно получите более высокую частоту кадров, но меньшее качество изображения, поскольку FSR имеет меньшее количество входных данных для работы.
Тем не менее, FSR будет хорошо работать с более низкими разрешениями, тем самым являясь благом для пользователей со старыми графическими процессорами (особенно во время продолжающейся глобальной нехватки чипов).
Теперь, когда вы понимаете, что такое суперразрешение AMD FidelityFX, давайте поговорим о том, как оно работает.
Как работает AMD FSR?
AMD FSR использует «ультрасовременный алгоритм», который берет изображение, визуализированное с более низким разрешением, чем исходное разрешение, установленное игроком, и пропускает его через два прохода (поясняется ниже). Это гарантирует, что результат будет безупречным и идентичным исходному разрешению.
Первый проход называется Edge-Adaptive-Spatial Upsampling (EASU). EASU — это алгоритм реконструкции краев, который пытается воссоздать и масштабировать входное изображение до более высокого разрешения.
Второй проход называется Robust Contrast Adaptive Sharpening (RCAS), и он извлекает детали пикселей из масштабированного изображения и еще больше увеличивает их резкость, тем самым повышая четкость. Оба процесса происходят одновременно во время графического конвейера игры, поэтому результаты мгновенны.
Чем AMD FSR отличается от NVIDIA DLSS?
Одно из самых больших различий между NVIDIA DLSS и AMD FSR — совместимость. DLSS использует метод Temporal Upscaling, основанный на искусственном интеллекте (AI) и нейронных сетях.
DLSS собирает данные из нескольких кадров и объединяет их в один с помощью искусственного интеллекта на выделенных тензорных ядрах, имеющихся в его графических процессорах RTX.
Однако эти выделенные ядра присутствуют только в графических процессорах NVIDIA RTX и, следовательно, являются проприетарными по своей природе. Это означает, что DLSS ограничен графическими картами NVIDIA RTX 20- и 30-й серий.
AMD FSR, с другой стороны, будет доступен на множестве совместимых графических карт, от старой Radeon RX 460 до последней серии AMD Radeon RX 6000.
Но самым большим сюрпризом здесь является то, что FSR также будет совместим с картами NVIDIA, начиная с серии 10/16 и заканчивая последней серией RTX 30.
Таким образом, владельцы видеокарт GeForce GTX 1070, которые беспокоились из-за отсутствия DLSS, теперь могут рассчитывать на новую технологию масштабирования AMD.
Совместимость с графическими процессорами NVIDIA стала возможной, потому что FSR работает на уровне шейдеров процесса.
AMD FSR не собирает данные из нескольких кадров и не использует искусственный интеллект, а вместо этого фокусируется на пространственном масштабировании.
Кроме того, это означает, что разработчикам будет намного проще реализовать FSR в играх из-за меньшего количества вводимых данных.
AMD FSR против NVIDIA DLSS 2.0: что лучше?
Хотя AMD FSR улучшает визуальное качество и общую производительность, первые результаты тестов показывают, что это не совсем убийца DLSS, которым его называли, и не зря. Как мы объясняли выше, NVIDIA DLSS 2.0 — это совершенно другая технология, в которой используются гораздо более сложные средства для масштабирования контента.
В то время как FSR использует исходное изображение для масштабирования контента, DLSS имеет арсенал различных методов, таких как векторы движения и временная обратная связь от предыдущих кадров.
У NVIDIA также есть обученный искусственный интеллект, который использует изображения 16K, чтобы обеспечить геймерам высокое качество. DLSS обеспечивает лучшее разрешение изображения, которое практически неотличимо от AMD FSR.
Более того, с выпуском Nvidia графических процессоров для ноутбуков RTX 3050 и RTX 3050Ti, все больше продуктов на рынке теперь поддерживают технологию DLSS.
Недавние тесты таких игр, как Godfall и Riftbreaker, показывают, что FSR делает выходное изображение более резким и четким, что легко заметить во время игры.
Время от времени в играх наблюдается размытость и плавность, когда на самом деле FSR достигает пределов производительности, которых нет в DLSS.
Имейте в виду, поскольку FSR был представлен недавно, поэтому подробные тесты станут доступны через некоторое время.
Судя по всему, хотя AMD FSR определенно является дополнительным бонусом к существующим настройкам суперсэмплинга в играх, он не представляет большой проблемы для таких конкурентов, как DLSS от NVIDIA.
Однако, учитывая природу FSR с открытым исходным кодом, разработчикам игр будет легко реализовать эту технологию.
Геймерам без DLSS, которые хотят найти идеальный баланс между плавным воспроизведением игры и улучшенными текстурами, следует использовать FSR на своем ПК.
Как включить или отключить AMD FSR?
Для включения AMD FSR не нужно делать ничего особенного. Вам не нужно настраивать какие-либо параметры в программном обеспечении Radeon Graphics на вашем ПК. Просто убедитесь, что для вашего совместимого графического процессора установлены последние версии драйверов.
Затем откройте любую поддерживаемую игру и перейдите к настройкам графики или видео. Здесь вы найдете новую настройку «AMD FidelityFX Super Resolution». Выберите один из четырех режимов, перечисленных выше, и наслаждайтесь невероятно плавным и качественным игровым процессом.
Список игр, поддерживающих AMD FSR (текущих и будущих)
На момент написания этой статьи всего 7 игр на ПК поддерживают технологию AMD FSR (FidelityFX Super Resolution). Эти игры следующие:
- Анно 1800
- Годфолл
- Злой гений 2
- Kingshunt
- Терминатор Сопротивление
- Разломщик
- 22 гоночная серия
Вот некоторые предстоящие игры, которые будут поддерживать AMD FSR:
- Астеригос
- Baldur’s Gate 3
- DOTA 2
- Край вечности
- Far Cry 6 (посмотрите трейлер игрового процесса, а также другие игры, анонсированные на E3 2021)
- Симулятор Фермерства 22
- Предвиденный
- Myst
- Некромунда: наемное оружие
- Resident Evil Village
- Ремейк фехтовальщика
- Вампир-маскарад: Кровавая охота
Кроме того, AMD сотрудничает с более чем 40 разработчиками игр, поэтому ожидайте, что в ближайшее время больше игр будут поддерживать FidelityFX Super Resolution.
Графические процессоры, поддерживаемые AMD FSR
Следующие графические карты прямо сейчас поддерживают технологию AMD FidelityFX Super Resolution. Мы обновим список ниже, если AMD решит обеспечить поддержку FSR для большего количества графических процессоров или добавит новые карты в свой портфель.
- Radeon RX 6000 / 6000M серии
- Radeon RX 5000 / 5000M серии
- Radeon RX Vega серии
- Radeon RX 500 серии
- Radeon RX 480/470/460
- Процессоры Ryzen серии 2000 с графическими процессорами Radeon
- Nvidia RTX 30 серии
- Nvidia RTX 20 серии
- Nvidia GTX 10/16 серии
Помимо видеокарт Radeon и Nvidia, AMD FSR также будет доступна на консолях следующего поколения, в том числе
Бонус: запросите вашу любимую игру для поддержки AMD FSR
Не беспокойтесь тем, кто в восторге от AMD FSR, но не может найти свою любимую игру в приведенном выше списке. AMD начала небольшой опрос, в котором вы можете заполнить короткую форму с просьбой о поддержке FSR до трех игр.
Если достаточное количество людей представят одну и ту же игру, AMD переместит ее вверх в списке и добавит в нее FSR быстрее, чем другие игры.
Так заполните эту официальную форму и вставьте свои любимые игры, чтобы получить больше удовольствия от игры.
Повысьте свой игровой опыт с AMD FSR прямо сейчас!
Мы надеемся, что это руководство помогло познакомить вас с новой технологией AMD FSR. Когда дело доходит до аппаратного обеспечения, у AMD есть успех.
От новых графических процессоров Ryzen серии 5000 до грядущего чипа Exynos с AMD GP — компания привлекает внимание каждого геймера.
Со временем мы увидим больше тестов в Интернете, и мы должны иметь даже лучшее представление о том, как AMD FSR будет конкурировать с DLSS. А пока дайте нам знать, что вы думаете о FSR, и если что-то мы упустили, в х ниже.
История потоковых мультипроцессоров Nvidia
Последние выходные я потратил на освоение программирования 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], девизом первого поколения архитектуры стали «Максимальная энергоэффективность и чрезвычайная производительность на каждый потреблённый ватт».
Карты позиционировались для «ограниченных в мощности сред, таких как ноутбуки и 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
Семейство Tesla: видеокарты, у которых нет альтернативы
Всем привет, дорогие друзья. Рад вас видеть! У Nvidia всегда был неразлучный конкурент в лице ATi, которую позже выкупила AMD, и практически все видеокарты от Nvidia имеют «аналоги» от AMD, как на пользовательском, так и на профессиональном рынке.
«Почти все»
Верно, ибо у Nvidia есть целое семейство видеокарт, которых нет у AMD, а именно — графические ускорители Tesla, на которые AMD так и не смогла подготовить достойный ответ. Разве что intel выпустили нечто подобное — Xeon Phi, но это другая история, и это скорее сопроцессор, нежели графический ускоритель.
Видеокартой Tesla по сути не является, хотя формально… Является. У этих видеокарт нет видеовыходов, а сами они не предназначены для вывода картинки (на что и намекает отсутствие видеовыхода). Их цель — рассчет чего-либо на мощностях графического процессора.
Просто представьте — сколько это добро стоит…Просто представьте — сколько это добро стоит…
Ну, к примеру, нужно вам совершить манипуляции с искусственным интеллектом, ну вот просто жизненно необходимо. Для этого нужно просчитать очень много различных вариантов и их следствий, которые приведут к новым вариантам и следствиям, пока в конечном итоге не получим какой-нибудь результат.
Если вы понимаете принципиальную разницу такого устройства и игровой видеокарты, упор в которой сделан на воспроизведение большого количества кадров, вам не составит труда прикинуть — насколько дольше будет «обучаться» нейронная сеть с применением топовой игровой видеокарты.
За безальтернативность приходится платить
Увы, но Tesla держат пальму первенства по цене видеокарт вообще. Только совсем недавно Tesla V100 немного упала в цене (на 200 тысяч), однако ее все еще можно найти в магазинах по цене в миллион рублей.
Дата центры на этой картинке, судя по тому, что фото с оф. сайта Nvidia, как раз используют TeslaДата центры на этой картинке, судя по тому, что фото с оф. сайта Nvidia, как раз используют Tesla
Примечательно то, что нынешние Теслы — очень дешевые по меркам себе подобных карт (Tesla) других поколений. Так например, рекорд принадлежит Tesla S2050, которая по сути и видеокартой-то не была, а представляла из себя почти готовый сервер с 4-мя видеокартами Tesla. Стоило это великолепие 12000 долларов, что как бы немного так Солярис в базовой комплектации.
В прочем, Nvidia Tesla — не массовый продукт с весьма интересными характеристиками и особенностями, а штука, которой нужно уметь работать. А вот если ей уметь работать, то выяснится, что с ее помощью можно заработать куда больше, чем она сама стоит.
Если вы не знали, что такие видеокарты существуют — теперь знаете. Это своего рода флагман Nvidia, только для тех, кто знает, как этим пользоваться. А полноценной альтернативы видеокартам Tesla до сих пор нет, увы. Но это только вопрос времени…
Если статья понравилась — не забудь поставить лайк, подписаться на канал (и исторический тоже), а также на нашу группу ВК. До скорого!
- Трэш-блоки питания, которые ни в коем случае нельзя покупать, и здоровая альтернатива им
- Видеокарта с характеристиками GT1030, которая стоит 15К. Для чего она нужна?
- Необычные старые комплектующие, которые мы потеряли
Как архитектура 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).
Аппаратная поддержка вычислений 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. Мы обновим эту статью, как только все данные будут доступны.