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

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

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


Что такое трассировка лучей?

Что такое трассировка лучей?

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

У трассировки же лучей основная идея совершенно другая, но в теории чуть ли не проще. При помощи трассировки имитируется распространение лучей света по 3D-сцене. Трассировка лучей может выполняться в двух направлениях: от источников света или от каждого пикселя в обратном направлении, далее обычно определяется несколько отражений от объектов сцены в направлении камеры или источника света, соответственно. Просчет лучей для каждого пикселя сцены менее требователен вычислительно, а проецирование лучей от источников света дает более высокое качество рендеринга. Для достижения фотореалистичности еще нужно учитывать характеристики материалов в виде количества отражаемого и преломляемого ими света, и для окончательного расчета цвета пикселя нужно провести еще и лучи отражения и лучи преломления. Их можно мысленно вообразить как лучи, отраженные от поверхности шара и преломленные ей. Такой улучшенный алгоритм трассировки лучей был изобретен уже несколько десятков лет назад, и эти дополнения стали большим шагом по увеличению реалистичности синтетической картинки. К сегодняшнему дню этот метод обрел множество модификаций, но в их основе всегда лежит нахождение пересечения лучей света с объектами сцены. Компания Nvidia, еще в 2009 году анонсировала технологию OptiX, предназначенную для трассировки лучей в реальном времени на графических процессорах их производства. Основанные на технологии OptiX рендереры уже существуют для многочисленного профессионального ПО, вроде Adobe AfterEffects, Bunkspeed Shot, Autodesk Maya, 3ds max и других приложений, и используются профессионалами в их работе. К рендерингу реального времени это можно отнести лишь с определенными допущениями, потому что при высокой частоте кадров получалась очень шумная картинка. И лишь через несколько лет индустрия вплотную подошла к применению аппаратного ускорения трассировки лучей уже в играх.

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

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

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

Трассировка лучей (AMD).

AMD продолжила продвигать открытые стандарты и представила Radeon Raus 2/0 для API Vulkan от Khronos Group (Vulkan - это графический и вычислительный API нового поколения, который обеспечивает высокопроизводительный кросс-платформенный доступ к современным графическим процессорам, используемым в самых разных устройствах от ПК и консолей до мобильных телефонов и встроенных платформ).

Radeon Rays (ранее носившее название AMD FireRays) представляет собой высокоэффективное, высокопроизводительное, работающее на основе метода трассировки лучей программное обеспечение, ускоренное за счет использования ресурсов графического процессора (Rays - лучи, FireRays - огненые лучи).

Прослеживая траектории световых лучей, проходящих через сцену фильма или игры, технология Radeon Rays имитирует эффект отражения и преломления лучей света в среде и их взаимодействия с виртуальными объектами, создавая потрясающе фотореалистичные 3D-изображения.

Технология Radeon Rays ориентирована на разработчиков контента, стремящихся использовать возможности графических, центральных и гибридных процессоров AMD в применении метода трассировки лучей. Асинхронные вычислительные ядра графических процессоров AMD, созданных на базе архитектуры GCN (Graphics Core Next), позволяют технологии Radeon Rays выводить данные для отображения в окне просмотра трассировки лучей, в то время как приложение одновременно управляет графическим ядром.

Radeon Rays 2.0 — высокоэффективная и высокопроизводительная библиотека для гетерогенных расчётов трассировки лучей почти на любой платформе (поддерживаются Windows, macOS и Linux). Библиотека Radeon Rays 2.0 разрабатывалась с прицелом на создание фотореалистичных игр: по аналогии с DXR (стандарт Microsoft DirectX Raytracing) разработчики могут использовать её для различных эффектов затенения и освещения, полагающихся на трассировку лучей в реальном времени.

Библиотека Radeon Rays 2.0 совместима с открытым стандартом высокопараллельных расчётов общего назначения OpenCL 1.2 и использует такое преимущество Vulkan и ускорителей AMD с архитектурой GCN, как продвинутая поддержка асинхронных вычислений. AMD уже предлагает Radeon Rays 2.0 бесплатно всем заинтересованным разработчикам — последняя версия SDK может быть загружена с официальной страницы на GitHub.

2018. NVIDIA. Трассировка лучей. Технология GameWorks RTX.

Microsoft представила стандарт Microsoft DirectX Raytracing (DXR), который станет частью DirectX 12, а NVIDIA на его базе анонсировала собственную реализацию (оптимизированную под ускорители с архитектурой Volta) - технологию GameWorks RTX (технологию трассировки лучей в реальном времени - Nvidia RTX). DXR - это расширение программного интерфейса DirectX 12 новым компонентом DirectX Raytracing API (DXR). Благодаря данным технологиям разработчики смогут применять трассировку лучей в реальном времени для создания реалистичных графических эффектов в играх ( Raytracing - трассировка лучей).

NVIDIA активно трудится, чтобы предоставить потенциальным клиентам готовое ПО, умеющее задействовать преимущества её новых GPU и технологии трассировки лучей RTX. Хотя речь идёт только о первых шагах в этой области, компания уже заручилась поддержкой таких влиятельных компаний, как Autodesk, Adobe, Chaos Group, Dassault Systиmes и, конечно же, Epic Games (среди прочих), чтобы поддержать технологию аппаратной трассировки лучей в том или ином виде.

2018 год для игровой индустрии положит начало внедрению трассировки лучей в реальном времени: многие крупные компании и разработчики трудятся над решением этой проблемы (в том числе и NVIDIA). Очередным шагом NVIDIA в этой области стала работа над расширением для API Vulkan, которое, по аналогии с RTX для DXR , позволит использовать в играх трассировку лучей.

NVIDIA работает над переносом своей технологии RTX в Vulkan через расширение VK_NV_raytracing, которое хорошо совместимо с этим открытым графическим API. Компания предложила свой метод группе Khronos и стремится к стандартизации технологии трассировки лучей в реальном времени в рамках Vulkan. Другими словами, в перспективе такой метод сможет работать как на ускорителях GeForce, так и на Radeon и даже Intel Graphics (если будут достаточно мощные решения). NVIDIA подчёркивает, что структура близка к Microsoft DXR, что упростит жизнь разработчикам.

Vulkan - это графический и вычислительный API нового поколения, который обеспечивает высокопроизводительный кросс-платформенный доступ к современным графическим процессорам, используемым в самых разных устройствах от ПК и консолей до мобильных телефонов и встроенных платформ. Vulkan API изначально был известен как «новое поколение OpenGL» или просто «glNext», но после анонса компания отказалась от этих названий в пользу названия Vulkan. Спецификация Vulkan 1.1 была запущена 7 марта 2018 года, чтобы расширить основные функциональные возможности Vulkan с функциями, запрошенными разработчиками, такими как операции с подгруппами, а также интегрировать широкий спектр проверенных расширений от Vulkan 1.0.

Архитектура Volta. NVIDIA Volta – это новая движущая сила искусственного интеллекта. Основанная на пяти прогрессивных технологиях, архитектура Volta поспособствует прорыву во всех отраслях. Такие серьезные достижения для человека, как искоренение рака и революция в сфере перевозок за счет появления беспилотных транспортных средств, уже в пределах досягаемости. У графического процессора Volta - 640 Tensor-ядер, что обеспечивает производительность задач глубокого обучения более 100 Терфлопс в секунду. Это превышает производительность архитектуры предыдущего поколения Pascal более чем в 5 раз. 21 миллиард транзисторов делают Volta самой мощной архитектурой GPU в мире. Она объединяет, все, чтобы обеспечить производительность одного GPU на уровне суперкомпьютера. Volta использует второе поколение высокоскоростной технологии внутреннего соединения NVIDIA NVLink™. Она ускоряет обмен данных в 2 раза по сравнению с интерфейсом NVLink первого поколения. Это обеспечивает расширенные возможности распараллеливания данных для достижения максимальной производительности приложений. Например, ускоритель Nvidia Tesla V100 оснащается двунаправленным интерфейсом NVLink второго поколения с пропускной способностью 300 ГБ/с, также будет выпущена версия с интерфейсом PCI Express.

Графический ускоритель NVIDIA Tesla V100 - GPU построен на основе революционной архитектуры GPU NVIDIA Volta. Это приводит к значительному приросту производительности в операциях одинарной (FP32) и двойной (FP64) точности. Основой для ускорителя Tesla V100 служит графический процессор Nvidia GV100. Данный GPU изготавливается согласно 12-нанометровым технологическим нормам FinFET на мощностях TSMC и насчитывает свыше 21 млрд транзисторов. Площадь кристалла составляет 815 кв. мм.

GPU физически включает: 84 потоковых мультипроцессора (Streaming Multiprocessor, SM), при этом ускоритель Tesla V100 оперирует 80 такими блоками. Каждый SM насчитывает: 64 ядра CUDA (соотношение блоков FP64 и FP32 — 2:1), а также по восемь ядер Tensor, разработанных специально для задач машинного обучения. Всего же чип включает в себя 5376 ядер CUDA, из которых у Tesla V100 активно 5120 единиц, и 640 ядер Tensor. Как отмечают представители Nvidia, благодаря использованию специализированных ядер Tensor «процессор V100 обеспечивает производительность 120 Тфлопс в глубоком обучении, что эквивалентно производительности 100 CPU». Потоковые мультипроцессоры Volta на 50 процентов более энергоэффективны, чем мультипроцессоры предыдущего поколения NVIDIA Pascal TM.

Архитектура Turing.  Архитектуру Turing называют самым главным продуктом компании Nvidia за последние 10 лет. Основной упор новой платформы для видеокарт делается на возможности в трассировке лучей в режиме реального времени — это такой метод построения объемного изображения. Благодаря новой архитектуре процесс обработки графики с использованием трассировки лучей ускорится в 6 раз.

Ставка в новой архитектуре сделана на трассировку лучей, машинное обучение, GDDR6 и другие новшества. Знаковой функцией для рынка ProViz, является так называемый гибридный рендеринг, сочетающий в себе методы трассировки лучей и традиционное растрирование. Результатом должна стать возможность добиваться в реальном времени качества графики, близкого к полноценной трассировке лучей.

В основе новой архитектуры лежит чип Turing GPU с 18,6 миллиардами транзисторов. Он первым в линейке компании получил поддержку памяти GDDR6 с 256- и 384-разрядной шиной.

Наряду с блоками RT (ядра для трассировки лучей) и тензорными ядрами (для инференса), архитектура Turing приносит новый потоковый мультипроцессор (SM), который по аналогии с Volta добавляет целочисленный исполнительный блок параллельно к каналу данных с плавающей точкой, и новую унифицированную архитектуру кеша с удвоенной по сравнению с предыдущим поколением полосой пропускания. Преимуществом является ускорение создания адресов и производительность в задачах совмещённого умножения-сложения с однократным округлением (Fused Multiply Add, FMA), хотя наверняка новый инструмент будет использоваться во многих задачах.

Самая топовая карта Quadro RTX 8000 получила сразу 48 ГБ памяти нового поколения. В линейке видеокарт на архитектуре Turing есть три моделиQuadro RTX 5000, 6000 и 8000. Все они поддерживают технологию NVLink, благодаря чему несколько видеокарт можно объединять в один массив для наращивания производительности. Таким образом можно достичь пропускной способности в 100 ГБ/с. Новые видеокарты на базе Turing появятся в конце 2018 года. Топовая карта Quadro RTX 8000 будет стоить $10 тысяч или почти 700 тысяч рублей.

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

Первый независимый графический ускоритель Intel представила почти 20 лет назад. Назывался он Intel i740. Вместе с ним компания пыталась стать одним из ведущих игроков на рынке 3D-графики, но жесткая конкуренция со стороны 3dfx, ATI, Matrox и NVIDIA вынудила ее сосредоточиться на бюджетной встроенной графике вместо дискретных решений. После Intel i740 компания выпустила еще несколько чипов нового поколения, но после этого полностью свернула это направление.

В настоящий момент Intel активно работает над проектом под кодовым названием Arctic Sound, который изначально связывали с разработками аппаратных средств для дата-центров. Однако согласно информации, предоставленной аналитиком компании Motley Fool, планируется некое «триумфальное возвращение», которое состоится приблизительно в 2020 году. Intel показала фирменный 28-ядерный процессор для рабочих станций, работающий на частоте 5 ГГц. Intel применила блок питания 1300 Вт и пиковую систему охлаждения мощностью 1000 Вт, что значительно превосходит обычные потребительские системы. В итоге Intel объявила, что новый процессор предназначен для рабочей станции и не рассчитан на игроков и домашние ПК.

 

 

 


Лицензия