Андрей Смирнов
Время чтения: ~18 мин.
Просмотров: 1

Windows display driver model

Необходима новая модель драйверов

Одним из основных сценариев, которые делает возможным Windows Display Driver Model, является Desktop Window Manager. Поскольку рабочий стол и окна приложений, управляемые DWM, являются приложениями Direct3D, количество открытых окон напрямую влияет на требуемый объём видеопамяти. Поскольку нет ограничения на количество открытых окон, доступной видеопамяти может оказаться недостаточно, и потребуется виртуализация. Поскольку содержимое окон, которые DWM объединяет в конечный рабочий стол, создаётся разными процессами, необходимо межпроцессное совместное использование графических поверхностей. Также, поскольку одновременно с DWM на рабочем столе могут работать другие приложения DirectX, приложения должны иметь возможность совместного доступа к графическому процессору, что требует диспетчеризации.

Однако сказанное справедливо для Майкрософтовской реализации составного рабочего стола под Windows Vista, с другой стороны, составной рабочий стол теоретически не нуждается в новой модели графических драйверов. Успешные реализации составных рабочих столов существовали до Windows Vista на других платформах, таких, как Quartz, Compiz, WindowFX. Своим подходом Microsoft попытался сделать надёжный WDDM как обобщение опыта по разным графическим процессорам от различных производителей, как стандартизацию их свойств и качеств. Программные свойства, отсутствующие у других моделей драйверов, можно было бы сделать несущественными с помощью дополнений или если бы была доступна менее ограничивающая или просто другая модель драйверов.

WDDM 2.5

Windows 10 October 2018 Update (версия 1809) включает в себя поддержку WDDM 2.5.

Предполагаемые изменения на основе списка изменений в драйверах для графики Intel от 2018/10/03:

  • Обеспечивает полнофункциональный HDR10 во встроенных дисплеях для ноутбуков
  • Улучшения HDR и EDR для внешних и переносных дисплеев
  • Поддержка дисплеев с широким цветовым диапазоном
  • Оптимизация производительности WinML
  • Поддержка DirectX 12 Shader Model 6.3
  • Улучшает синхронизацию звука в горячем подключении между драйверами Графики и Аудио
  • Оптимизации памяти в Vulkan
  • Улучшенное качество цвета во время воспроизведения видео и срока службы батареи, когда дисплей находится в режиме ожидания

DXIL

WDDM 2.1 introduces the transition of the GPU shader compiler stack from DirectX Byte Code (DXBC) to DirectX Intermediate Language (DXIL), a new format for transmitting shader instructions to the GPU. Transition to DXIL delivers the following benefits to developers:

  • Programmability — Ease-of-development is improved and complexity of the shader creation process is reduced for developers by minimizing differences between GPU programming syntax and CPU languages that developers are familiar with.

  • Higher-performance compiler:

    • Runtime Shader Performance is enabled to deliver improved performance.
    • DXIL provides a new set of intrinsic that enables sharing of data across the lanes of the SIMD processors in GPUs.
  • Workflow Flexibility — DXIL enables developers to be in control of their own custom tools and optimization passes and choose which compilation steps are applied at build time versus runtime.

  • Advanced Language Features — An evolved language provides key features that eliminate differences between GPU code and CPU code, and flatten the learning curve for GPU programmers.

With these features focusing on providing benefits for developers, end users will see the benefits in improved performance of new or updated games even when run on existing hardware.

WDDM 1.2

Windows 8 включает WDDM 1.2 и DXGI 1.2. Новые функции были представлены на конференции Build 2011 и включают улучшения производительности и так же поддержку для стереоскопического 3D рендеринга, а также видео воспроизведения.

Другие главные изменения включают вытесняющую многозадачность для GPU вместе с лучшей степенью параллельных вычислений (DMА буфера, примитивов, треугольников, пикселей, или на уровне инструкций), уменьшено потребление памяти, улучшено разделение ресурсов, и более быстрое обнаружение и восстановление. 16-бит цветовой формат поверхностей (565, 5551, 4444) являются обязательными в Windows 8, и Direct3D 11. Поддержка YUV 4:4:4/4:2:2/4:2:0/4:1:1 видео формата с 8, 10, и 16-бит точностью, а также 4 и 8-бит формат палитры.

WDDM 1.2 поддерживаются только WDDM-драйверами, такими как Microsoft Basic Display Driver и WARP-основанный Microsoft Basic Render Driver который заменяет видео драйвер уровня ядра.

На WinHEC 2006 Microsoft говорил о своих планах сделать значительное изменение WDDM для улучшения многозадачности применительно к графическим процессорам. Согласно информации Microsoft, WDDM 1.0 позволяет выполнять лишь элементарное планирование задач с просчётом «batch queue» granularity. WDDM 2.0 и WDDM 2.1′, которые планировались после выхода Vista но относительно которых Microsoft не огласил дату выхода в свет (Windows 8 поддерживает лишь WDDM 1.2), могли бы предложить вытесняющую многозадачность на уровне мелких структурных единиц и потребовали бы нового поколения графических процессоров.

Поддерживается в Windows 10.

Pipeline State Object (PSO) Caching and Library

Introduced in D3D12, Pipeline State Object (PSO) is an interface which represents the graphics pipeline instructions and resources (aka state) as a unified object to reduce mismatch between D3D and driver decompositions of the state. Running graphically demanding applications and games requires creating a vast number of PSOs.

WDDM 2.1 PSO library and caching enables the gaming applications to store a PSO on physical storage after being created during the initial run. This provides D3D runtime the ability to retrieve the pre-created PSOs from the library in future instances thus reduce the PSO extraction time. For example, when running a game after the first time or after rebooting the PC, content will be loaded from the physical library as saved PSOs.

История

В конце 1980-х возникновение графических операционных систем семейства Windows дает толчок для появления процессоров нового типа. В начале 1990-х годов обрели популярность ускорители двумерной графики. Эти ускорители были спроектированы для операций с растровыми изображениями, тем самым, делая работу с графической операционной системой более комфортной. В те былые времена, когда видеоадаптеры, специализировались в основном на ускорении вывода 2D-графики. В то время считалось, что обработка трехмерных данных просто не целесообразна. Отметим, что данной тенденции не придерживалась компания Silicon Graphics, которая старалась вывести трехмерную графику на различные рынки, в том числе приложения для военных, правительства, эффекты в кино, визуализация научных данных. Результатом её трудов стало открытие данной компанией программного интерфейса к своему оборудованию. В 1992 году компания выпустила библиотеку OpenGL.

Сам термин GPU впервые был использован в августе 1999 года в отношении главного чипа видеокарты модели nVidia GeForce 256, основная функция которого заключалась в ускорении вывода трехмерной графики. Впервые вычисление геометрических преобразований и освещения сцены стало возможно проводить на самом графическом процессоре. Дальнейший прорыв принадлежит также компании NVIDIA, которая выпустила серия GeForce 3 в 2001 году. В данной серии появилась микросхема, в которой был реализован всем известный ныне, а тогда еще новый стандарт Microsoft DirectX 8.0. Данный стандарт добавил возможности программирования к GPU. Изначально фиксированный алгоритм вычисления освещенности и преобразования координат вершин был заменен на алгоритм, задаваемый пользователем. Затем появилась возможность писать программы для вычисления цвета пиксела на экране. По этой причине программы для GPU стали называть шейдерами, от английского shade — закрашивать. Первые шейдеры писались на ассемблере GPU, их длина не превосходила 20 команд, не было поддержки команд переходов, а вычисления производились в формате с фиксированной точкой. По мере роста популярности использования шейдеров появлялись высокоуровневые шейдерные языки, например, Cg от NVidia и HLSL от Microsoft, увеличивалась максимальная длина шейдера. В 2003 году на GPU впервые появилась поддержка вычислений с 32-разрядной точностью. В качестве основного интерфейса программирования выделился Direct3D, первым обеспечивший поддержку шейдеров. Обозначились основные производители дискретных графических процессоров: компании ATI и NVidia. Появились первые приложения, использующие GPU для высокопроизводительных вычислений, начало складываться направление GPGPU. GPGPU (General-Purpose computing on Graphic Processing Units) — использование графических процессоров для решения произвольных вычислительных задач. Для программирования GPU предложен подход потокового программирования. Этот подход предполагает разбиение программы на относительно небольшие этапы (ядра), которые обрабатывают элементы потоков данных. Ядра отображаются на шейдеры, а потоки данных — на текстуры в GPU.

Включение HwSchMode с помощью с помощью REG-файла

Для модификации реестра с помощью REG-файла нужно создать пустой текстовый файл с любым именем, например Turn_ON_HW_accelerated_GPU_scheduling. В него нужно скопировать и внести следующий текст:

Windows Registry Editor Version 5.00



"HwSchMode"=dword:00000002

Затем сохраняют и меняют расширение этого файла на REG.

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

При успешной модификации реестра появится сообщение:

Изменения вступят в силу после перезагрузки компьютера.

При модификации реестра с помощью утилиты типа regedit, нужно запустить ее с правами администратора, перейти по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers, найти пункт HwSchMode и включить опцию HwSchMode, изменив значение DWORD на 2 для включения (или 1 для выключения)

Скриншот редактора реестра, открытого для включения опции HwSchMode:

Отредактировать реестр и добавить опцию HwSchMode можно на любом компьютере под управлением Windows, но технология будет реально работать только в ОС, поддерживающей WDDM 2.7 при наличии соответствующих драйверов.

Проверить соответствие конкретной конфигурации компьютера на наличие поддержки WDDM 2.7 можно в программе GPU-Z версии 2.32+ на вкладке Advanced – WDDM. На компьютере с включенной поддержкой технологии планирования GPU с аппаратным ускорением GPU-Z отобразит информацию:

При отсутствии возможности включить аппаратное ускорение планировщика GPU программа GPU-Z в строке Hardware accelerated GPU scheduling отобразит сообщение «Not supported by OS»:

В старых версиях GPU-Z опиця Hardware accelerated GPU scheduling вообще отсутствует:

Драйвера с поддержкой функции аппаратного ускорения видеокарт можно установить на любую версию Windows 10, но официальная поддержка WDDM 2.7 начинается только с релиза Windows 10 20H1 (версия 2004), а также в Windows 10 Insider.

Опция HwSchMode недоступна в ОС, не поддерживающей технологию WDDM 2.7, даже после установки нужных драйверов:

WDDM 2.5

Tracked Workloads

Tracked Workloads is an experimental feature that provides more control over the trade-off between quicker processor execution vs. lower power consumption, and is not available until further notice. The implementation was removed from Windows 10, version 2003; and deprecated from earlier OS versions as part of a security fix.

Content changes

TopicDateDescription
EDID Extension (VSDB) for HMDs and Specialized Displays12/03/2018Specification for Display Manufacturers
DirectX Graphics Kernel Subsystem (Dxgkrnl.sys)12/04/2018Kernel-mode interfaces that the Windows operating system implements through the Microsoft DirectX graphics kernel subsystem (Dxgkrnl.sys).
WDDM 2.1 Features01/10/2019Describes new and updated features for WDDM 2.1

Raytracing

New Direct3D DDI’s were created in parallel of Direct3D API’s, in order to support hardware-accelerated raytracing. Example DDIs include:

  • PFND3D12DDI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_0054
  • PFND3D12DDI_COPY_RAYTRACING_ACCELERATION_STRUCTURE_0054
  • PFND3D12DDI_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_0054
  • PFND3D12DDI_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_0054

For more info about raytracing, see:

  • Announcing Microsoft DirectX Raytracing
  • DirectX Raytracing and the Windows 10 October 2018 Update
  • DirectX Forums

Display Synchronization

The OS will check for capabilities for display synchronization when the display is exposed by the driver to the OS, so prior to enabling the display. For TypeIntegratedDisplay child devices, this is reported via a call to DxgkDdiQueryAdapterInfo with Type DXGKQAITYPE_INTEGRATED_DISPLAY_DESCRIPTOR2 during adapter initialization. For TypeVideoOutput child devices, which are supported starting with WDDM 2.5, the capabilities are reported as part of the hot plug processing via DxgkDdiUpdateMonitorLinkInfo so that the capabilities may change based on the target or connected monitor.

The OS specifies the display synchronization in the DxgkDdiSetTimingsFromVidPn call in the Input field in the per path structure.

WDDM 1.2

Поддерживается в Windows 8.
и DXGI 1.2. Новые функции были впервые просмотрены на конференции Build 2011 и включали в себя улучшения производительности, а также поддержку рендеринга и воспроизведения видео.Другие основные функции включают графического процессора с более тонкой зернистостью вычисление (буфер DMA, примитив, треугольник, пиксель или уровень инструкций) .Уменьшенный объем памяти, улучшенное совместное использование ресурсов и более быстрое обнаружение и восстановление тайм-аута. 16-битные цветовые форматы поверхности (565, 5551, 4444) являются обязательными в Windows 8, а Direct3D 11 Video поддерживает YUV с 8, 10 и 16-битной точностью, а также 4 и 8-битные палиттированные форматы.

Возможности мобильности и мощности

Существуют также преимущества WDDM для мобильных новых функций Mobility в Windows Vista, которые зависят от WDDM.

Обнаружение горячих подключений дисплеев и проекторов

С Windows XP подключение ноутбука к проектору может оказаться многоступенчатым процессом, где каждый шаг может отличаться от одного поставщика ноутбука к другому. В Windows Vista этот процесс подключения к внешнему дисплею или проектору значительно упрощен. Когда к адаптеру дисплея подключается дополнительный внешний монитор или проектор, WDDM мгновенно обнаруживает это новое состояние и автоматически уведомляет модуль Transient Mobility Manager (TMM), который является базовой технологией для нового мастера внешнего дисплея Windows Vista. Мастер упрощает расширение или клонирование рабочего стола на второе устройство отображения.

«Гибридный» сон

Расширенное состояние ожидания Windows Vista сочетает быстрое включение / выключение функции ожидания с надежностью функции Hibernate. В Windows XP Hibernate приводит к сохранению содержимого системной памяти на жестком диске и отключении системы; В режиме ожидания содержимое памяти сохраняется с небольшим количеством мощности, а оставшаяся часть системы отключается.

Однако в Windows Vista «Hybrid» Sleep приводит к сохранению содержимого системной памяти на жестком диске, а система одновременно переходит в режим ожидания. Таким образом, система может возобновить работу с системной памяти очень быстро — менее чем за 2 секунды для ПК с поддержкой Windows Premium. Однако, если батарея полностью разряжается или потеря питания приводит к потере содержимого системной памяти, система может возобновиться с жесткого диска.

Viewing GPU Microcode

WDDM 2.1 enables developers to further optimize their shaders by presenting GPU microcode viewing. Developers program the graphics pipeline through creating shaders in HLSL, which then are compiled to an intermediate language for the GPU driver. The driver runs additional compilations and optimizations to convert this code to GPU-specific instructions which remained opaque to the developers. With this feature, developers are presented readable GPU-specific code to evaluate the extent of their shader optimization and speed.

This feature enables the UMD to comment on each programmable stage of the graphics pipeline (aka. shaders) and return actionable information on the programmer’s use or misuse of those shaders. The GPU-specific microcode is disassembled and presented in readable string format along with the UMD comments. Developers can view their HLSL code mapping to readable GPU code side by side which enables them to dynamically modify their code and see the compiler optimization results on the GPU code side.

WDDM 2.1

WDDM 2.1 enables new scenarios and provides significant improvements in the areas of performance, reliability, upgrade resiliency, diagnostic improvements and future system advancements for the Windows graphics sub-system.
The WDDM 2.0 driver model is a pre-requisite for D3D12. WDDM 2.0 and DirectX12 are available only on Windows 10 and higher.

The following is a list of feature additions and updates for WDDM 2.1.

  • Improved graphics performance by reducing overhead time spent in memory management and more efficient usage of scarce graphics memory. The graphics performance improvements are:

    • Offer and reclaim resources — offer and reclaim improvements to reduce memory footprint of applications running in background mode.
    • Support for 2MB Page Table Entry encoding — In WDDM 2.1, large Page Table Entry (PTE) encoding in VRAM is enabled. This change boosts performance on systems that support it.
    • Support for 64KB memory pages — Virtual memory allocations using a 64KB granularity is also supported in WDDM 2.1. This change especially benefits APUs and SoCs by reducing overhead for accessing virtual memory pages.
  • Hardware-based protected content improvements with present batching (PlayReady 3.0)

  • Driver Store installation for graphics drivers to improve driver upgrade resiliency.

  • DXIL, a new shader complier language

  • D3D12 performance and optimization improvements

  • Improved diagnostic options for developers

For more information, see WDDM 2.1 Features.

Примечания

  1. ↑ . Microsoft (12 июня 2009).
  2. . Дата обращения 20 октября 2007.
  3. . MSDN. Дата обращения 14 июня 2009.
  4. . MSDN. Дата обращения 13 июня 2009.
  5. . MSDN. Дата обращения 13 июня 2009.
  6. . MSDN. Microsoft (16 ноября 2013). Дата обращения 9 декабря 2013.
  7. ↑ . MSDN. Microsoft (28 сентября 2012). Дата обращения 9 декабря 2013.
  8. . MSDN. Microsoft (16 ноября 2013). Дата обращения 9 декабря 2013.
  9. . MSDN. Microsoft (16 ноября 2013). Дата обращения 9 декабря 2013.
  10. . MSDN. Microsoft (16 ноября 2013). Дата обращения 9 декабря 2013.
  11. Dan Warne.  (недоступная ссылка). APC Magazine (June 1, 2006). Дата обращения 2 июня 2006.
  12. . MSDN. Microsoft (16 ноября 2013). Дата обращения 9 декабря 2013.
  13. . MSDN. Microsoft (16 ноября 2013). Дата обращения 9 декабря 2013.
  14. nabazan-microsoft.  (англ.). docs.microsoft.com. Дата обращения 15 января 2018.
  15. . Microsoft. Дата обращения 3 июня 2015.
  16. Moreton, Henry . Blogs.nvidia.com (20 марта 2014). Дата обращения 26 марта 2014.
  17. . Blogs.msdn.com (20 марта 2014). Дата обращения 26 марта 2014.
  18. . AnandTech. Purch (6 февраля 2015).
  19. . 3DNews — Daily Digital Digest. Дата обращения 25 июня 2020.
  20.  (англ.). docs.microsoft.com. Дата обращения 12 января 2020.
  21. . MSReview. Дата обращения 12 января 2020.
  22.  (англ.). LaptopVideo2Go Forums. Дата обращения 16 июня 2020.
  23. . 3DNews — Daily Digital Digest. Дата обращения 16 июня 2020.
  24. . devblogs.microsoft.com. Дата обращения 4 ноября 2019.
  25. . devblogs.microsoft.com. Дата обращения 6 ноября 2019.
  26. . devblogs.microsoft.com. Дата обращения 8 ноября 2019.
  27. . devblogs.microsoft.com. Дата обращения 11 ноября 2019.
  28. . devblogs.microsoft.com. Дата обращения 13 ноября 2019.
  29. . microsoft.github.io. Дата обращения 29 мая 2019.

Возможности, привнесённые моделью WDDM

Драйверы WDDM открывают новые функциональные области, которые не предоставлялись на унифицированной основе более ранними моделями графических драйверов:

Виртуализованная видеопамять

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

Диспетчеризация

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

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

Межпроцессное совместное использование поверхностей Direct3D

Графическая поверхность Direct3D — это область памяти, содержащая информацию о текстурированных ячейках, используемых для просчёта двумерной или трёхмерной сцены. WDDM позволяет процессам совместно использовать поверхности Direct3D. Поэтому приложение может включить ячейку, созданную другим приложением, в рассчитываемую сцену. Совместное пользование текстур процессами до WDDM было сложной задачей, поскольку требовало копирования данных из видеопамяти в системную память и назад, в видеопамять нового устройства.

Расширенная отказоустойчивость

Если драйвер WDDM зависнет или встретит сбой, графический стек перезапустит драйвер. При сбое графической аппаратуры произойдёт перехват этого события и, если необходимо, драйвер будет перезапущен.

Драйверы для Windows XP были вольны реагировать на аппаратные сбои на своё усмотрение, либо уведомлением пользователя, либо попыткой устранить ошибку молча. С драйвером WDDM все сбои аппаратуры вызывают перезапуск драйвера, а пользователь получает всплывающее сообщение; это унифицирует поведение драйверов разных разработчиков.

Предыдущие драйверы реализовывались полностью в режиме ядра, в то время как WDDM частично реализован в пользовательском режиме. Если область пользователя даст невосстановимую ошибку, это в худшем случае неожиданно прервёт работу приложения вместо синего экрана, как это было в предыдущих моделях драйверов.

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

Offer and reclaim improvements

A new DDI, PFND3DDDI_RECLAIMALLOCATIONS3CB was created to reduce memory footprint of applications running in background mode. This interface will enable applications to offer resources that are acceptable to fully de-commit, when going into the background. As a result, the Process Lifetime Manager will be able to reclaim more memory from background apps that use DirectX, which leads to less background application terminations when under memory pressure.

Other DDI changes:

  • PFND3DDDI_UPDATEALLOCATIONPROPERTYCB callback
  • PFND3DDDI_OFFERALLOCATIONS2CB callback
  • D3DDDICB_OFFERALLOCATIONS2 structure
  • D3DDDICB_RECLAIMALLOCATIONS3 structure

For more information about offer and reclaim resources, see Offer and reclaim changes.

WDDM 2.4

Windows 10 April 2018 Update (версия 1803) включает WDDM 2.4.

  • Дополнительные d3d типы распределения памяти
  • Паравиртуализация адаптера
  • Произвольная защита ядра
  • Настраиваемые тайминги рендеринга дисплея
  • Поддержка съемных адаптеров
  • Поддержка конфигурации дисплея
  • Поддержка источника-владельца
  • Перенаправление дисплея
  • Поддержка трансформации цветового пространства
  • Защищенная сессия устройства
  • Процесс удаления устройства (проверяет, может ли процесс, использующий адаптер, восстанавливаться после удаления графического устройства)

С момента появления Windows 10 April 2018 Update и благодаря изменениям в WDDM, стало возможным использовать функцию аналогичную двойной графики в ноутбуках. Например, что позволяет запускать программы\игры на более мощной видеокарте, а выводить изображение через встроенную графику напрямую по внутренней (PCI-E) или внешней шине, без необходимости подключать монитор к мощной видеокарте. Так же может выступать в качестве решения проблемы, если на видеокарте нет VGA видеовыхода, а в материнской плате он присутствует.

Важно: Такую поддержку гарантировано обеспечивают процессоры Intel не ниже поколения Haswell и видеокарты nVidia поколения Kepler (600 серия). Для оптимальной производительности cross-adapter clone mode (по описанию в документации nVidia) настоятельно рекомендуется последняя актуальная версия Windows 10, а так же свежие драйверы как на видеоядро, так и на дискретную видеокарту.. Ранее такую возможность предоставлял аппаратно-программный комплекс как LucidLogix, но материнские платы с ее наличием встречались реже и были значительно дороже

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

Ранее такую возможность предоставлял аппаратно-программный комплекс как LucidLogix, но материнские платы с ее наличием встречались реже и были значительно дороже. Так же все выше указанное может способствовать повышению производительности игр и тяжелых 3D приложений как CAD, и прочих. Плюс использование этого функционала способно снизить энергопотребление и нагрев системы в целом.

GPU memory models

WDDM v2 supports two distinct models for GPU virtual addressing, GpuMmu and IoMmu. A driver must opt-in to support either or both of the models. A single GPU node can support both modes simultaneously.

GpuMmu model

In the GpuMmu model, the video memory manager manages the GPU memory management unit and underlying page tables, and exposes services to the user mode driver that allow it to manage GPU virtual address mapping to allocations. GpuMmu implies that GPU page tables are used by the GPU to access data. The page tables could point to system memory or local device memory.

For more information, see GpuMmu model.

IoMmu model

In the IoMmu model, the CPU and GPU share a common address space and CPU page tables. Only system memory can be accessed in this case, so IoMmu is suitable for integrated GPUs. IoMmu provides a simpler programming model, where the same pointer can be used by the GPU and CPU to access memory. There is no need to manage a separate set of page tables in GPU-accessible memory. That said, the IoMmu model can result in degraded performance due to the overhead of address translation and management.

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации