Вся правда про RTX что же скрывали в NVIDIA?
Иногда вещи не такие, какими кажутся на первый взгляд, даже если к этому "первому взгляду" пустить маркетологов с целью рассказать про *продукт* как можно больше. Именно такая ситуация произошла с зелёными, когда они выкатили свои новые видеокарты серии NVIDIA RTX
Кроме шуток, 95% времени презентации они втирали про трассировку. Для профсегмента (а это целевая аудитория презентации) их слова имели мощное воздействие, ибо трассировка = основа рендера, а рендерит там чуть ли не каждый первый, но кроме ЦА эту презентацию смотрели геймеры, реакция которых прекрасно выражается одной-единственной картинкой со звуком
В результате этого сообществом геймеров был сделан вывод, что новые карты имеют из нового лишь трассировку и DLSS
Настало время исправить это недоразумение и раскрыть секретные материалы из архивов КГБ то, о чём не сказали на презентации
ДИСКЛАЙМЕР! Если Вы купили видеокарту на паскале (GTX 10хх) топового сегмента за неделю до аннонса RTX 20xx или топите за абсолютную монополию AMD здравую конкуренцию (ведь зелёные и синие зажрались), то это всё выдумки, пост проплаченный, а я - маркетолог нвидии. Можете поставить плюсик за старание и идти по своим делам, листать ленту дальше
Зачем я это написал? Подумайте сами - Вы купили за свои кровные 1080 Ti за 9/10 цены прям перед выходом тьюрингов или же топите за AMD только потому что AMD - это AMD (= фанбой) и тут Вам говорят, что всё, что Вы знаете - ложь и нещадно рушат Ваш мирок. Вы смените свою точку зрения под давлением фактов? Возможно, но скорее всего Вы воспылаете СВЯЩЕННЫМ ГНЕВОМ и пойдёте минусить всех, чья точка зрения отличается от Вашей. Оно нам надо?
Ладно, слишком много воды, слишком большое вступление, мы же сюда за фактами пришли?
Для начала - немного матчасти, дабы мои слова можно было понять. Всё ещё с водой, дабы до каждого дошло. Если знаете или понимаете, что ничего не поймёте - пропускайте до картинки
ТИПЫ ДАННЫХ:
> Тип данных - множество значений и хуNты, которую с ними делают. Вот ты взял листочек, написал циферку, скажем, "10", после чего назвал её словом "ЖОПА" "X". Теперь у тебя есть жопа "x" со значением "10". Ты можешь вычесть их "x" число 6 и присвоить результат обратно "x". Всё, у тебя "х" со значением "4". Теперь ты робот. Ну или программист, ибо там это - основа основ.
> INT и FP - основные типы данных, с которыми работает компьютер и программист, создающий ПО (скажем, игру). В INT хранится целое число, например, "1". А в FP хранится число с плавающей запятой, например: "1,13"
> После типа данных есть число, скажем, INT8. Это - количество бит (нолей и единичек), которые отданы на хранение числа. С большими данными работать сложнее, они жрут больше памяти, да и не всегда нужно - если (условный) персонаж может держать лишь 10 единиц предмета в слоте, ему хватит INT4, нет необходимости вываливать на это число INT16 или FP64 (лол)
> В играх вычисления на GPU в основном FP32. Это - число с одинарной точностью и любая современная карта имеет много терафлопс производительности именно с ним. Ещё есть FP16 (половинная точность) и FP64 (двойная точность). Производительность измеряется во флопсах с СИ-приставками. У тебя мегабайты кеша, гигабайты ОЗУ и (наверное) терабайтный винт, мысль ясна? В случае с процессорами (CPU) всё просто - из двух терафлопс FP32 получится четыре терафлопса FP16 или один терафлопс FP64
>> Ещё раз, коротко: FP32 - основа основ. Производительность измеряется во флопсах с СИ-шной приставкой. При хороших планировщиках аля CPU производительность 4*FP16 = 2*FP32 = 1*FP64. Так же замечу, что хорошим показателем мощности считается ~4-5 терафлопс FP32 на куде или 6-7 терафлопс от AMD, современные карты с такой производительностью выдают 60 фпс на ультрах в большинстве игр. Всё, что больше 10 терафлопс - жир
Это всё, что нужно знать про типы данных. Если интересно - читать тут, тут и тут.
ОСНОВА ОСНОВ:
> видеокарта ака GPU, процессор ака CPU имеют архитектуру. Архитектура - это АД для тех, кто попытается самостоятельно изучить матчасть. В отличии от явного изменения характеристик, изменения в архитектуре являются бомбой замедленного действия. Замедленного и крайне разрушительного
*для слишком умных - речь про внутреннюю архитектуру, а не про х86 vs ARM*
> Насколько глубока кроличья нора? Вот есть процессор, скажем, i7 3770 на архитектуре Ivy Bridge (ивик). 4 ядра с HT, частота TB на все ядра - 3,7 ГГц, а FPU блок делает 16 операций за такт. Производительность FP32 = 4*3,7*16 = ~236 гигафлопс. А теперь берём i7 4770. Те же 4 ядра с HT, те же 3,7 ГГц на все ядра, но архитектура там Haswell, у которой FPU блок в 2 раза мощнее, ибо делает 32 операции за такт. FP32 = 4*3,7*32 = ~473 гигафлопс. И вроде характеристики одинаковые, и там, и там 4/8, и частота одинаковая, но при этом более новый процессор в 2 раза мощнее. Для любознательных: это было сделано ради AVX2, следующий такой прыжок уже случился в процессорах на LGA2066, ради AVX512, где FPU блок делает 64 операции FP32 на такт. Так же замечу, что у АМДшной рязани FPU блоки тоже делают 32 операции на такт, как и все десктопные камни интела после хасвелла. Ой, мы же видеокарты обсуждаем?
> Архитектуры имеют своё красивое название, по крайней мере, у синих intel и зелёных nvidia
750 (Ti) и 9хх = максвелл, 10хх = паскаль, TITAN V = вольта, 16хх и 20хх - тьюринг
У АМД нейминг более компактный, RX 4xx/5xx = GCN 1.3, VEGA = GCN 1.4
>> Ещё раз, коротко: архитектура очень важна. Прикол в том, что просто так её подробности не узнать и "лоб в лоб" не сравнить - нужно либо искать соответствующие ресурсы, либо читать пересказы. По понятным причинам стадо хомячков игнорирует факт её существования, что сильно огорчает AMD и, с недавних пор, зелёных
Раз уж картинка говорит про "богатый внутренний мир", пора делать то, зачем мы тут собрались - разбираться в архитектуре. Начнём с внутренностей чипа. На картинке 2080 Ti. Да, это огромный чип, да, та самая карта от 80К рублей
Страшные картинки, ничего не понятно? А если нажать на них и зазумить? Верхнее - это чип TU102 (= 2080 Ti), а нижнее - SM вблизи и его сравнение с прошлыми поколениями. Не нужно быть гением-инженером, что бы понять, что тьюринг и вольта - родственники, а паскаль на таком фоне выглядит очень непохоже. Кстати, про вольту забудьте, сравнивать мы будем с паскалями
Первое, что бросается в глаза - это смена страшного "core" на "FP32 + INT". Так-то "core" ака "cuda-ядро" содержит в себе FP32 и INT, вот только за один такт можно было выполнить ЛИБО FP32, ЛИБО INT операцию. Условно говоря, игра хочет сделать 70 FP32 и 30 INT32. Паскаль на это потратит условные 100 тактов (такая у нас условная одноядерная карта, да), а тьюринг потратит лишь 70 тактов, ибо INTы сделаются одновременно с FP32. Что, опять ничего не понятно?
>> Ещё раз, кратко: прирост +25-40% производительности(в зависимости от игры) при условии отсутствия внимания со стороны разработчика. Разраб может забить и спокойно пить мартини, загорая на пляже, пока его игра бустится от магии тьюринга. А если не забьёт, то тьюринги будут буститься в 2 раза относительно паскаля, а школота будет орать про занижение драйверами, когда на деле всё гораздо проще
Следующее, что заметит глазастый пикабушщник - это FP64. Он мелькнул в чипе вольты и исчез в тьюринге. Вещь для геймера ненужная чуть более, чем полностью, она больше для вычислений научных. Её кладут в некоторые титаны и квадры, дабы на них можно было считать белки и заниматься прочим числодробительным непотребством. Если же в карту не положить FP64, то она будет считать FP64 в разы медленнее. Никаких тебе FP64 = FP32/2 (1:2), которые и давали те FP64 блоки и которое делает FPU в любом современном процессоре. 1080 Ti с её 11 ТЕРАфлопсами имеет лишь 350 ГИГАфлопс FP64. FP64 = FP32/32 (1:32), что как-то не очень, не находите?
>> Ещё раз, кратко: FP64 не для тебя. Забудь про него. Листай дальше
Раз уж речь зашла про FP, то нельзя не упомянуть про FP16 и AMD. Эта эпопея началась с выхода GCN 1.4 (вега), когда AMD предложила вместо разбрасывания FP32 использовать более короткие FP16 там, где их можно заменить, ибо это халявная производительность. Они назвали это дело "быстрой математикой" и сделали красивое FP16 = FP32*2 (2:1) в вегах. До этого были GCN 1.3 (рыксы) с соотношением 1:1 (прироста не будет, но и производительность не упадёт) и паскали с, барабанная дробь, 1:64. Т.е. из 4300 гигафлопс FP32 у 1060 будет...60 гигафлопс FP16. В итоге ситуация зашла в тупик - делать FP16 ради ~25% рынка (статистика стима; встройки от интел занимают 10% и тоже имеют православные 2:1) и убивать производительность в абсолютный ноль на остальных 75% никто не станет. Упс. Но тут приходят волшебные RTX с таким же православным соотношением 2:1 и тензорниками в придачу. В 128 раз мощнее, чем паскаль с тем же кол-вом FP32, и это без учёта тензорников!
>> Ещё раз, кратко: паскали не могут в FP16, от слова совсем. Так как тьюринг распространяется на мидл+лоу сегмент и AMD поджимает своими консолями, то старые карты обречены на отыквивание.
Тензорники? Эти 2 молодца Tensor cores рождены для того, что бы быть числодробилкой ради нейросетей и DLSS. Они немного улучшились со времён вольты, но с задачей прекрасно справляются - время работы моей любимой расшакаливательной нейросети на 2070 сократилось до считанных миллисекунд. Никогда моя коллекция мемов не была настолько чистой от артефактов сжатия вконтакта!
Но это не весь их функционал! Они могут быть числодробилкой в FP16, в случае с 2080 Ti это 107 терафлопс в бусте. Прибавим 26,9 терпфлопс от самой карты и попробуем подсчитать, сколько 1080 Ti нужно, что бы их заменить. 133 терафлопса делим на 0.177 терафлопс одной 1080 Ti и умножаем на цену - 700 долларов, после чего вычитаем 1200 баксов за 2080 Ti. 524 тысячи долларов придётся потратить, что бы заменить одну 2080 Ti на мегасервер из 1080 Ti. А ведь это ещё нужно питать и в принципе куда-то разместить... Воистину, архитектура - замечательная вещь. Конечно, можно считать матрицы для нейросетей, но зачем? Лучше посчитать INT4 - аж 500 тераопсов!
>> Ещё раз, кратко: тензорники - лютая весч, позволяющая делать порно с лицами одноклассниц нейросети в домашних условиях. Не хочешь сетей? Держи 100 терафлопс FP16!

Итак, с чипом и числодробительной скоростью разобрались. Осталось рассказать про кешу и можно идти дальше. Кеш(а) - архибыстрая память, дабы держать нужную шелуху "под рукой" и не лезть в медленную ОЗУ или, омг, на тормозной хард. Делится на уровни (L1, L2), меньше циферка - меньше объём и задержки и выше скорость. На радость TPC новые карты получили "привет от вольты" - кеш L1 слился с разделяемой памятью (shared memory), L2 просто раздулся в 2 раза, а регистровая память из-за перестройки SM значительно увеличилась. Ну и на закуску - в каждую секцию SM затолкали L0 вместо общего кеша инструкций
Ещё один "привет от вольты" - ITS, позволяющее планировщику эффективно засрать начинку SM работой. Эй, не зевать!
>> Ещё раз, кратко: улучшили кешу, улучшили планировщик. Вылизали то, что нужно вылизывать из поколения в поколение
Раз уж речь зашла про подсистему памяти, то нельзя не вспомнить про GDDR6. Смена памяти сама по себе хороша, ибо почти двухкратный рост псп (пропускной способности памяти, читать как "скорости") на дороге не валяется. Но кроме этого, вместо наращивания объёма (количества) nvidia в тьюринге решили взять качеством. Новая память получила 2 независимых канала по 16 бит вместо одного канала по 32 бита, что позволило избавиться от "застревания" данных и сократить размер кванта, что так же оптимизирует работу с памятью и позволяет эффективней использовать псп. Так же стандарт GDDR6 позволяет работать в режимах DDR либо QDR (реальная -> эффективная у GDDR имеет в 2 раза больший множитель, т.е. 2 ГГц в 8 ГГц, в то время как DDR делает из 2 ГГц лишь 4 ГГц. Вот и секрет высоких частот у видеопамяти!) при неизменной псп. ИМХО это незаконно, я звоню в полицию. А пока я набираю номер, замечу, что зелёные опять сильно улучшили сжатие данных. Они вообще над этим активно работают, настолько активно, что сжатие - единственное значимое изменение в паскалях относительно максвелла. На этом изменения между максвеллом и паскалём, влияющие на все игры, кончились. Ощутили разницу?
>> Ещё раз, коротко: GDDR6 имба, позволяющая крайне эффективно и быстро работать с памятью. Зелёные взяли качеством, а не количеством памяти.
Продолжаем выносы мозга. Следующее улучшение - асинхронники и API. Асинхронники в паскале были просто божественны - их не было. А теперь есть, на радость картам AMD, у которых они есть давным-давно. Асинхронники позволяют одновременно вычислять и делать графоний, что позволяет считерить в случаях, когда считать много, а графона мало (и наоборот). А что по API? Тут всё просто. Есть DX12 (DirectX 12) простой, а есть DX12_1, оптимизированный, с новыми фичами. AMD традиционно в нём тащила, так же, как и в вулкане. И тут, и в случае с асинхронниками, инженерам зелёных стало очень завидно. Они захотели так же. Ну, мужик захотел - мужик сделал, в итоге мы имеем поддержку фич DX12_1 и Vulkan, в которых раньше тащила AMD. Учитывая наличие асинхронников мы получаем разрушительную штуку. Является спонсором ситуаций, когда 2060/2070 >= 1080 Ti. Весело, не так ли?
>> Ещё раз, коротко: RTX тащит в современных играх, ибо научился в acync, vulkan и DX12_1. В случае вульфа 2 делает 2070 > 1080 Ti.
Уже проверяя пост перед отправкой я вспомнил, что забыл рассказать про улучшения разгона. Зелёные выкатили сканнер (он так и называется), который позволяет авторазгоном выбить 2 ГГц даже забитому рукожопу, нажав лишь пару кнопок. Так же, ради сканера новые карты получили улучшения в сфере контроллера питания и лимитов, что несколько обрадовало оверклокеров, которые разгоняют карты самостоятельно. Фича включена в бету MSI AB
Так-то саморазгон был и до этого, но это был мусор, который вылетал чаще, чем работал. Сканнер же имеет функционал стресстестов для подбора кривой частот. Из минусов - думает оно минут 20 перед тем, как родить результат. Фичу подвезли и к паскалям, но без улучшений она работает хуже и вообще у меня асус 2 ГГц с завода.
>> Ещё раз, кратко: тьюринги хорошо гонятся системами авторазгона, но их нужно подрубить вручную
Ansel. Помните его? Это такая волшебная скриншотилка, которая имела свой API и позволяла делать скриншоты по паре гигабайт. Оно вернулось. Ansel RTX не требует добавления особого API и позволяет работать с (почти) любой игрой за счёт нейросетей. А если API есть, то можно включить режим стационарной трассировки, увеличив кол-во лучей в стопицот раз. Эхх, а раньше кадры с трассировкой днями рендериться могли, вот это было время))
>> Ещё раз, кратко: купишь RTX - побегай с Ansel, шоб было
Mesh Shading. Звучит как что-то страшное, не так ли? А по факту это лишь новый графический конвейер, позволяющий творить магию в сложных сценах. Насколько магию?
>> Кратко, ещё раз: Mesh Shading - лютая весч для сложных сценок. Обладатели RTX могут полюбоваться на демку с астероидами и поглазеть на это самостоятельно
Ещё голова не болит? Тогда переходим к VRS. VRS - это продолжение идеи паскальнутой MRS и LMS, суть которых в том, что в некоторых местах экрана можно забить на качество, все равно игрок туда не смотрит. Звучит довольно нагло, но по факту, если в игре есть, скажем, моушин блюр (размытие в движении), то не всё ли равно, с какой точностью рендерилось то, что замылилось специальным шейдером? Аналогично для гонок и VR, ведь в гонках игрок не смотрит по краям, а в VR мало того, что не смотрит по краям, так ещё и отслеживание взгляда пихают куда только не лень. Так почему бы не совместить приятное с полезным?
И, раз речь пошла про VR, то будет глупо не вспомнить про TSS. Суть, как всегда, в халтуре - зачем делать 2 кадра на каждый глаз, если и там, и там почти всё одинаково? Почему бы не взять результаты с одного глаза и не использовать их для ускорения рендера другого?
Ну и про глаза - MVR позволяет обладателям многомониторных конфигураций и VR нового поколения (C)(R)(TM) получать более качественное изображение. Так же этим можно делать карты теней с несколькими источниками света... Почему бы не показать слайд?
>> Кратко, ещё раз: добавили технологий для VR, гонок и прочего мультимонитора.
Улучшили блок кодирования-декодирования видео. Тут всё просто, мамкины стримеры будут довольны. Предыдущее улучшение в этой области было в паскале и оно было действительно сильным - улучшили декодировщик в стопицот раз. Буквально
Дабы этот абзац не был таким одиноким, напишу про лулз в виде контроллера USB 3.0 Gen 2 Type C и соответствующий выход на карте. Так-то туда нужно шлем втыкать, но люди так и обычный дисплей подключали, да и обычные устройства должны там работать. И - Инновации!
Кстати, туда был добавлен DisplayPort 1.4a с возможностью 8К60Гц. Осталось только монитор найти подходящий, под 8К-то!
>> Ещё раз, кратко: в видеокарту можно воткнуть флешку, лол. Ещё там (де-)кодировщик улучшили, но Вам ведь интересней возможность подключить в видеокарту флешку/телефон/наушники?
NVLink. Так же, как и тензорники с RT-ядрами, является подачкой с барского стола. Заменяет собой убогую SLI, правда, не все вендоры об этом в курсе. Позволяет адекватно стакать ресурсы видеокарты, в результате чего пара 2080 Ti позволяет играть в 8К. Иногда даже на ультрах в 60 фпс. Да, 2080 Ti - не самая дешёвая карта, но тех, кто хочет (и может себе позволить) играть в 8К, это не сильно волнует. А ещё есть мостики NVLink с подсветкой, за 90 евро
О, да, мостик с ргб, для видеокарт с ргб, воткнутых в мать с ргб, к которой подключен ргб SSD, ргб вентиляторы и ргб периферия, включая ргб монитор и ргб коврик
Прекрасная замена новогодней ёлке, жаль только, что почку не заменит
Ну и ещё немного. Не бывает всё так хорошо, не находите? А я нашёл. Новые карты получили огромные чипы, которые в 1,7-2 раза больше аналога на паскале, ибо 12 нм производство оказалось слишком жирным для такого. Вот такие огромные чипы - это ненормально, в первую очередь, по причине цены. Карты вышли дорогими, но, так как более слабые модели = более маленький чип, их value (выгода, соотношение цены и производительности) стал стремительно расти и если 2080 стоила как 1080 Ti, то 2070 и 2060 оказались выгоднее аналогов
Но самая серьёзная проблема - школьники ака "паскалеботы" и "амд фанбои". АМДшникам и тем, кому родители купили 1050 Ti, не понравились новые карты, в результате чего они начали искать, как их засрать. В ход шло всё - например, школьник орал про нечестные тесты, ведь на тесты засылали дорогие FE, а у них был, о, боже, РАЗГОН, в то время как 10хх были в стоке. Само собой, при кудахтах про цену её тоже брали от FE нвидии, которые стоят минимум на 10К дороже, чем средненький нереф, который возьмёт любой нормальный человек. Про реф/нереф и выбор карты я писал в прошлом посте, так что вернёмся к РАЗГОНУ. У FE версий с сайта нвидии, которые являются лютым оверпрайсом, действительно был разгон. Аж на 6% в случае с 2080 Ti. Эта цифра крайне смешная, ибо заводской разгон самого поганого нерефа будет гораздо мощнее. И вот с этих 6% кудахтов было так, словно там поработал профессиональный оверклокер
Ладно, хватит негатива, ибо с выходом 2060 все школьники успокоились и разбежались делать уроки. Сами зелёные сообщили, что обвинения в том, что они зажрались, им не нравятся и пообещали использовать 7 нм от самсунга (да, самсунг тоже имеет производство чипов, причём их 7 нм более мелкие, чем 7 нм TSMC или GF) с EUV липтографией, что позволит делать чипы дешевле
>> Ещё раз, кратко: зелёные не зажрались, а 7 раз отмерили и 1 раз отрезали. Пообещали исправиться с картами на 7 нм, так что если Вы ждали, ждали и все ещё ждёте, то можете ещё подождать. Но помните - всегда можно купить карту, а потом продать её, сохранив большую часть цены и потом 2 недели бомжевать со встройкой, ожидая анонса следующего поколения. Я так и сделал, кстати, и ничуть об этом не жалею
Ой, мы что-то забыли? А, да, мелочь, тут трассировка с DLSS завалялись. О них я расскажу в следующем посте, а пока напомню, что оценивать качество сглаживания/трассировки по сжатым-пережатым видео на ютубе с отрицательным битрейтом - дело глупое и неблагодарное. Правда, DLSS применять на FHD - не самая хорошая идея, ибо технология любит высокие разрешения, да и сами зелёные натренировали сети именно под высокие разрешения
ВМЕСТО ВЫВОДА: Скорее всего, если Вы это честно прочитали, то Вас переполняет наука. Если Вы сразу промотали до вывода, то прочитайте хотя бы выделенный текст "Ещё раз, кратко", где я объяснил сложные вещи простыми словами. Тьюринги получились действительно инновационной архитектурой. Конечно, её распространение сильно повлияет на карты AMD, которые поддерживают некоторые фичи тьюринга, но разве это не то, к чему мы стремимся - что бы технологии оптимизации вошли в массы?
P.S. До сих пор хохатулькаю с заголовка. И ведь не поспоришь, ибо они об этом говорят разве что в документации для разработчиков, а на странице, посвящённой архитектуре, втирается дичь про VRS, трассировку и DLSS. Это - лишь верхушка айсберга!
P.P.S. Кстати, содержимое поста вовсе не значит, что нужно бежать продавать свою карту и почку, дабы купить тьюринг. Достаточно просто знать, что одной трассировкой и DLSS дело не обошлось