enfrdepluk
Search find 4120  disqus socia  tg2 f2 lin2 in2 X icon 3 y2  p2 tik steam2

Microsoft внедряет нововведение в DirectX 12 для повышения автономности GPU

Microsoft официально анонсировала сегодня новую функцию для DirectX 12, доступную ранее в предварительной версии, направленную на устранение узких мест процессора за счет увеличения автономности графических процессоров.

В обширном блог-посте инженеры Microsoft Amar Patel и Tex Riddell представили систему «Work Graphs» для автономии GPU в D3D12, цель которой — преодолеть ограничения в общих вычислительных задачах на GPU и раскрыть скрытые возможности графических процессоров. Проще говоря, новая система стремится перейти к более эффективной системе рендеринга, управляемой GPU, снижая необходимость использования CPU в различных нагрузках.

Во многих задачах, выполняемых на GPU, первоначальный расчет на графическом процессоре определяет, какие последующие действия должен выполнить GPU. Это может быть достигнуто с помощью обратного обращения к CPU для выдачи новой работы. Однако, как правило, предпочтительнее, чтобы GPU мог напрямую управлять собой. ExecuteIndirect в D3D12 является формой этого, где приложение использует GPU для записи ограниченного буфера команд, который должен быть последовательно обработан на GPU для выдачи новой работы.

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

Это и есть «Work Graphs» — граф узлов, где шейдерный код в каждом узле может запрашивать вызовы других узлов, не ожидая их запуска. Work graphs фиксируют алгоритмические намерения пользователя и общую структуру, не обременяя разработчика необходимостью знать слишком много о конкретном оборудовании, на котором это будет запущено. Асинхронный характер максимизирует свободу системы в принятии решений о том, как лучше всего выполнить работу.

Источник GameGPU.tech

Топ материалов GameGPU