Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

Нажав на кнопку "Отправить", Я даю своё согласие на автоматизированную обработку указанной информации, распространяющейся на осуществление всех действий с ней, включая сбор, передачу по сетям связи общего назначения, накопление, хранение, обновление, изменение, использование, обезличивание, блокирование, уничтожение и обработку посредством внесения в электронную базу данных, систематизации, включения в списки и отчетные формы.


Видеографика. Что нас ожидает?

Видеографика. Что нас ожидает?

В Кельне на игровой выставке Gamescom 2018 Nvidia назвала свои новые игровые видеокарты, и новые профессиональные ускорители Quadro. Всего тогда было анонсировано три модели: Quadro RTX 5000, Quadro RTX 6000 и Quadro RTX 8000. В данном сегменте Nvidia перешла к аббревиатуре RTX в обозначении своих устройств. Все новинки были основаны на архитектуре Turing. Было известно, что площадь новых GPU составляет 754 мм2, а количество транзисторов достигает 18,6 млрд.. При этом у старшей из карт 4608 ядер CUDA. GPU GV100 имеет площадь 815 мм2, содержит 21,1 млрд. транзисторов и включает 5376 ядер CUDA.

CUDA – это архитектура параллельных вычислений от NVIDIA, позволяющая существенно увеличить вычислительную производительность благодаря использованию GPU (графических процессоров). Архитектура Turing оснащена специальными процессорами для трассировки лучей – ядрами RT. Они ускоряют расчеты перемещения света и звука в 3D-средах до 10 миллиардов лучей в секунду. Turing позволяет осуществлять трассировку лучей в реальном времени в 25 раз быстрее по сравнению с предыдущим поколением GPU Pascal, а финальный рендеринг эффектов в фильмах на GPU в 30 раз быстрее, чем на CPU.

Архитектура Turing существенно улучшает производительность растеризации по сравнению с предыдущим поколением GPU Pascal благодаря улучшенным процессам обработки графики и программируемым технологиям шейдинга.Технологии включают в себя Variable-Rate Shading, Texture-Space Shading и Multi-View Rendering, которые обеспечивает гибкую интерактивность с большими моделями и сценами, а также улучшенными возможностями в VR.

Turing оснащена новыми тензорными ядрами; эти процессоры ускоряют тренировку и инференс глубоких нейронных сетей, обеспечивая до 500 трлн. тензорных операций в секунду. Данный уровень производительности существенно ускоряет такие функции на базе искусственного интеллекта, как шумоподавление, масштабирование разрешения и изменение скорости видео, а также позволяет быстрее создавать приложения с новыми производительными возможностями. Ядра Tensor обеспечивают революционную производительность, демонстрируя увеличение пиковых показателей Терафлопс для тренировки алгоритмов в 12 раз, а для инференса - в 6 раз. Эта ключевая возможность позволяет Volta обеспечивать 3-х кратное ускорение производительности в задачах тренировки и инференса по сравнению с архитектурой предыдущего поколения.

GPU на базе архитектуры Turing оснащены новым мультипотоковым процессором, который поддерживает до 16 трлн. операций с плавающей точкой параллельно с 16 трлн. целочисленных операций в секунду. Разработчики могут использовать до 4608 ядер CUDA с поддержкой NVIDIA CUDA 10 и SDK FleX и PhysX, создавая сложные симуляции частиц или динамики жидкостей для научной визуализации, виртуальных сред и эффектов. Что касается параметров самих ускорителей, они таковы:

Nvidia называет новые ускорители первыми графическими решениями для трассировки лучей. Поэтому стоит отметить, что для младшей карты заявлена скорость в 6 GigaRays/s, а для двух старших - в 10 GigaRays/s. Использование интерфейса NVLink позволяет объединять адаптеры в связки по два. Что касается портов, то карты получили по четыре DisplayPort 1.4 и по одному VirtualLink.

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

У трассировки же лучей основная идея совершенно другая, но в теории чуть ли не проще. При помощи трассировки имитируется распространение лучей света по 3D-сцене. Трассировка лучей может выполняться в двух направлениях: от источников света или от каждого пикселя в обратном направлении, далее обычно определяется несколько отражений от объектов сцены в направлении камеры или источника света, соответственно. Просчет лучей для каждого пикселя сцены менее требователен вычислительно, а проецирование лучей от источников света дает более высокое качество рендеринга.

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

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

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

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

3D-разработчики приложений реального времени достигнут предела существующего метода растеризации, и им придется перейти на метод с продвинутой моделью освещения, похожей на то, что происходит в реальности. Скорее всего, это будет именно трассировка лучей. Но так как трассировка лучей весьма затратный метод и ее вряд ли потянут даже самые мощные системы, то поначалу стоит рассчитывать на гибридные методы рендеринга, сочетающие производительность растеризации и качество трассировки лучей. Есть вариант смешения двух методик. К примеру, основу геометрии можно растеризовать с высокой производительностью, а затем при помощи трассировки лучей просчитывать только мягкие тени и отражения. Хотя растеризация продолжит играть важнейшую роль и в ближайшие годы с появлением гибридного рендеринга, доля алгоритмов трассировки лучей в таких движках будет постепенно расти исходя из роста вычислительных возможностей будущих GPU.  


Лицензия