问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

什么是硬件加速GPU调度?如何启用它?

创作时间:
作者:
@小白创作中心

什么是硬件加速GPU调度?如何启用它?

引用
1
来源
1.
https://www.bilibili.com/opus/948459664056516626

硬件加速GPU调度是Windows系统中的一项重要优化功能,它通过将GPU调度任务从CPU卸载到GPU硬件,实现更高效的资源管理。本文将详细介绍这一功能的工作原理、启用方法及其对系统性能的影响。

Microsoft Windows一直是游戏玩家的首选操作系统。每当我们提到“游戏PC”时,我们通常都会想到Windows机器。这是因为Windows支持不同的硬件(CPU和显卡),并且还具有用于游戏开发的精心设计和行业标准的API。微软还不断推出计算机硬件和软件优化的新功能,以增强用户体验和系统性能。一项引起游戏玩家和爱好者关注的创新是“硬件加速GPU调度”。

随着游戏成为主流活动以及资源密集型应用程序的需求,系统资源的有效分配变得至关重要。微软推出的这一功能旨在优化CPU和GPU之间的相互作用,在响应速度、延迟减少和整体性能方面提供潜在优势。但什么是硬件加速GPU调度?如何启用它?它将如何影响性能?让我们在本指南中尝试找到所有这些问题的答案。

什么是调度?

在计算机和操作系统中,调度是指确定在计算机中央处理器(CPU)或其他系统资源上执行各种任务或进程的顺序和时间的过程。它在各种计算系统中起着至关重要的作用,从单核CPU到多核处理器、GPU和分布式计算环境。调度的主要目标是优化系统资源的利用率、提高效率并提供响应迅速且公平的资源分配。

在多任务操作系统环境中,多个进程或任务会争夺有限的可用资源,例如CPU时间、内存和I/O操作。调度算法在根据特定标准决定下一步执行哪个进程以及执行多长时间方面起着至关重要的作用。

CPU调度涉及从准备执行的进程队列中选择下一个进程在CPU上运行。目标是最大限度地提高CPU利用率、吞吐量和响应能力,同时最大限度地减少等待时间和周转时间。

  • 抢占式调度:操作系统可以中断正在运行的进程,并根据优先级或时间段切换到另一个进程。示例包括循环调度和优先级调度。
  • 非抢占式调度:进程一直占用CPU,直到它主动释放为止。例如先来先服务(FCFS)和最短作业下一步(SJN)调度。

I/O调度涉及管理I/O请求的服务顺序。目标是尽量减少进程等待I/O操作的时间。

了解GPU调度

GPU(图形处理单元)调度是管理现代GPU上任务执行的关键方面。在典型的图形管道中,应用程序或操作系统会提交多个任务(例如渲染、着色和计算操作)以供GPU处理。GPU执行管道由多个阶段组成,这些阶段并行处理任务以实现高吞吐量和性能。

该管道包括顶点处理、几何着色、光栅化、像素着色和内存访问等阶段。每个阶段都涉及特定任务,例如转换顶点、着色像素和管理内存操作。GPU调度程序的作用是有效地管理将这些任务分配给管道内的可用处理单元。

GPU的执行单元(例如CUDA核心或着色器单元)并行运行,允许同时处理多个任务。高效的调度可确保充分利用这些执行单元,并管理任务之间的数据依赖关系以避免冲突。它还可实现最佳性能、低延迟和资源利用率。

Windows中的GPU调度

在GPU方面,Windows开发了WDDM,即Windows Display Driver Model,这是一种显卡的图形驱动程序架构。它支持虚拟内存、调度、Direct3D表面共享等。

在所有这些功能中,WDDM GPU调度程序非常重要,因为它用基于优先级的调度取代了传统的“FIFO”式队列。即使是较新版本的WDDM,调度算法也大同小异,即高优先级线程拥有CPU时间。

这种方法有一些根本性的局限性。例如,要在时间“x”在GPU上工作的应用程序线程必须让CPU在时间“x-1”为GPU准备命令。因此,当GPU正在处理帧“n”时,CPU会启动帧“n+1”的工作命令。本质上,CPU缓冲GPU命令可能会最大限度地减少调度过载,但会对延迟产生重大影响。CPU接收的用户输入直到下一帧才会被GPU处理。

传统基于软件的调度面临的挑战

调度程序传统上是操作系统的一部分,也就是说,它们本质上是软件的一部分。尽管有硬件调度程序可用(以可编程FPGA或ASIC的形式),但它们主要局限于硬实时系统以支持一种调度算法。

在传统的基于软件的调度中,操作系统的内核管理任务队列并使用软件中断在任务之间切换。这涉及CPU和GPU之间的交互,从而导致潜在的延迟和开销。上下文切换(即GPU从执行一项任务切换到另一项任务)可能会带来延迟并降低整体系统性能。

传统的基于软件的GPU调度存在局限性,可能会影响性能和响应能力。

  • 基于软件的上下文切换涉及CPU和GPU之间的通信,从而导致延迟和开销。当需要快速任务切换时,这种开销就会成为问题。
  • 随着CPU核心和GPU执行单元数量的增加,管理和协调任务的复杂性也随之增加。传统的基于软件的调度可能难以有效处理这种日益增长的复杂性。
  • 抢占是指暂停一项任务以执行另一项任务,这在软件中很难有效实现。协调抢占和任务恢复可能会导致效率低下。
  • 内存管理和分配效率低下会导致资源碎片化,从而导致GPU内存无法得到最佳利用。这会导致性能不佳,甚至出现内存不足错误。
  • 传统的调度方法可能缺乏对公平性的细粒度控制,可能导致某些任务垄断资源,而其他任务则资源匮乏。

为了应对这些挑战,硬件加速GPU调度通过将调度任务卸载到GPU上的专用硬件组件,提供了一种有前途的解决方案,解决了这些限制并提高了整体性能和效率。

需要硬件加速

对硬件加速GPU调度的需求源于对高性能图形和计算工作负载日益增长的需求。随着应用程序变得越来越复杂,工作负载也越来越多样化,传统的基于软件的调度机制可能难以有效地管理这些需求。有几个因素导致了对硬件加速的需求。

  • 现代应用程序综合运用了图形渲染、AI计算、物理模拟等。高效协调这些不同的工作负载需要更精简和优化的调度流程。
  • GPU专为并行处理而设计,能够同时执行多项任务。然而,基于软件的调度可能无法充分利用这种并行性,从而导致GPU资源利用不足。
  • 有些应用,尤其是实时图形和虚拟现实,对延迟非常敏感。传统的软件干预调度可能会带来延迟,影响用户体验。
  • 随着多核CPU和具有更多处理单元的GPU的增长,高效管理大量任务对于传统的软件调度方法来说变得越来越具有挑战性。

什么是硬件加速GPU调度?

硬件加速GPU调度是指利用图形处理单元(GPU)中的专用硬件组件来管理任务的分配和执行。与传统的基于软件的调度(其中CPU和操作系统管理任务队列和上下文切换)不同,硬件加速调度依靠专用硬件来简化这些操作。

  • 通过直接在GPU硬件上执行与调度相关的任务,可以减少与CPU和GPU之间的通信相关的开销。这可以加快任务转换和上下文切换的速度。
  • 硬件组件可以管理任务队列并与GPU处理并行执行,从而能够同时调度和执行更多任务。
  • 专用硬件可以更有效地分配处理单元和内存,优化资源使用并提高整体性能。

2020年5月,微软发布了Windows更新,引入了硬件加速GPU调度作为受支持的显卡和驱动程序的选项。通过此更新,Windows现在可以将GPU调度卸载到专用的GPU调度硬件上。

虽然Windows仍然可以控制任务的优先级并决定哪个应用程序具有上下文切换的优先级,但它会将高频任务卸载到专用的GPU调度程序来处理各种GPU引擎之间的上下文切换。

NVIDIA和AMD(两大主要显卡制造商)都对此表示欢迎。他们表示,将调度任务从软件转移到硬件的这一新功能将提高GPU的性能和响应能力,同时降低延迟。

硬件加速GPU调度的要求

实现硬件加速GPU调度涉及多项要求,以确保其在计算系统中成功集成和运行。这些要求包括硬件、软件和兼容性考虑。

  • Windows版本:要使用该功能,需要Windows 10版本2004(2020年5月更新)或更高版本。
  • GPU兼容性:对于NVIDIA显卡:需要1000系列或更高版本的GPU。对于AMD显卡:建议使用5600系列或更高版本的GPU。
  • 显示驱动程序:确保您的显卡的显示驱动程序(Nvidia或AMD)是最新的,以确保兼容性和最佳性能。

通过满足这些要求,用户可以利用硬件加速GPU调度功能来增强系统的图形性能、减少延迟并提高依赖GPU的应用程序和工作负载的整体响应能力。

如何启用硬件加速GPU调度?

启用硬件加速GPU调度涉及调整Windows操作系统上的显示设置。如果您拥有具有正确驱动程序和Windows更新的支持显卡,则硬件加速GPU调度功能将作为选项提供。默认情况下,Windows 10和Windows 11中的硬件加速GPU调度都是禁用的。但您可以从设置中启用它。以下是在运行Windows 11的兼容系统上启用硬件加速GPU调度的方法:

先决条件

确保您的Windows版本为Windows 10版本2004(2020年5月更新)或更高版本。您可以在“开始”菜单搜索栏中输入“winver”并按Enter来检查您的Windows版本。验证您的GPU是否来自受支持的系列。对于NVIDIA,它是1000系列或更高版本,对于AMD,它是5600系列或更高版本。确保您已为GPU安装了最新的图形驱动程序。您可以从NVIDIA或AMD网站下载最新的驱动程序。

启用硬件加速GPU调度

要启用硬件加速GPU调度,请按照以下步骤操作。

  1. 右键单击桌面并选择“显示设置”。
  2. 向下滚动并单击“图形设置”或“图形适配器属性”。
  3. 在图形设置或适配器属性窗口中,单击“更改默认图形设置”或“高级显示设置”链接。
  4. 单击“硬件加速GPU调度”切换开关将其打开。

启用硬件加速GPU调度后,重新启动计算机以应用更改。

使用Windows注册表启用硬件加速GPU调度

在进行任何更改之前,请创建Windows注册表的备份,以确保可以在需要时恢复它。

  1. 按Windows键+R打开运行对话框。
  2. 在运行对话框中,键入“regedit”并按Enter。
  3. 在注册表编辑器中,导航到以下路径:Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers
  4. 在右侧,找到“HwSchMode”键并双击它。
  5. 将“数值数据”设置为2,并确保“基数”设置为“十六进制”。
  6. 对注册表进行更改后,请重新启动计算机以使更改生效。

为了在将来禁用该功能,请将“HwSchMode”键的值从2改回1。

这是通过直接修改Windows注册表来启用硬件加速GPU调度的另一种方法。但是,与任何注册表编辑一样,用户应谨慎行事并仔细遵循说明以避免意外后果。

您是否应该启用硬件加速GPU调度?

对于大多数Windows用户来说,启用硬件加速GPU调度可能不是必需的,但它可以极大地帮助游戏玩家。如果您的计算机具有低端或中端CPU并在某些游戏中CPU负载较高,则启用硬件加速GPU调度可能会有所帮助。

此功能可将CPU任务卸载到GPU,从而有可能减轻CPU压力并提高整体性能。此设置可能不会改善使用较旧CPU和GPU的用户的游戏体验,甚至可能会使其变得更糟。

目前,只有运行Windows 10或更新版本并使用Nvidia和AMD较新GPU的Windows计算机才能访问此设置。虽然启用硬件加速GPU调度可以带来少量FPS增益(大约4或5帧),但在较新的硬件(如RTX 3060(或更高级别的显卡))上,这种改进可能不那么明显。

我们鼓励用户尝试启用该设置,看看它是否能提高系统性能,并保持开启状态,除非在启用硬件加速GPU调度后出现问题。虽然游戏中的额外帧数可能无法保证,但CPU使用率的降低有助于实现更流畅、更一致的性能。微软表示,游戏中的主要差异可能并不明显,但该功能可以对CPU相关方面产生积极影响。尽管需要重新启动,但打开和关闭此设置相对简单。

如果您的系统不支持该功能,还有其他方法可以在不升级硬件的情况下提高性能。例如,您可以通过游戏内选项或GPU驱动程序控制面板禁用帧缓冲。这有助于在较旧的硬件上保持良好的视觉质量。

结论

在图形处理领域,硬件加速GPU调度是优化资源分配和提升用户体验的显著进步。这是一个将与GPU相关的调度任务卸载到GPU上的专用调度程序而不是由CPU(或操作系统)处理的过程。当微软首次宣布此功能时,整个游戏行业都非常兴奋,但结果和评论褒贬不一(至少在开始时)。

在本指南中,我们了解了启用(或禁用)硬件加速GPU调度是多么容易。如果您拥有正确的GPU和驱动程序组合,您可以尝试此功能并分享您的经验。

常见问题解答

启用硬件加速GPU调度有哪些好处?

答:启用此功能可以减少图形和计算任务的延迟,提高整体系统响应能力,并提高依赖GPU的应用程序的吞吐量。它允许更有效地直接在GPU上管理任务,从而最大限度地减少CPU-GPU通信造成的延迟。

启用硬件加速GPU调度是否存在风险?

答:启用该功能本身不会带来风险,因为它是一项受支持的功能。但是,与任何系统更改一样,也有可能出现兼容性问题或意外行为。在进行更改之前,请务必备份数据和注册表,并遵循可靠来源的官方说明,以最大程度地降低风险。

我可以在笔记本电脑上启用硬件加速GPU调度吗?

答:是的,如果您的笔记本电脑的GPU满足兼容性要求(NVIDIA 1000系列或更高版本、AMD 5600系列或更高版本)并且您的操作系统版本兼容(Windows 10版本2004或更高版本),您应该能够在配备专用GPU的笔记本电脑上启用硬件加速GPU调度。

所有游戏都能从硬件加速GPU调度中平等受益吗?

答案:硬件加速GPU调度的好处会因工作负载而异。涉及频繁上下文切换、实时渲染或大量GPU利用率的游戏和应用程序可能会获得最显著的改进。GPU密集程度较低的应用程序可能效果不太明显。

启用硬件加速GPU调度后可以禁用它吗?

答:是的,您可以通过反转启用硬件加速GPU调度的步骤来禁用它。例如,您可以将图形设置中的“硬件加速GPU调度”开关切换为关闭,或者如果您使用Windows注册表来启用它,则可以将“HwSchMode”键值重新设置为1。进行此类更改后,请务必重新启动计算机以使更改生效。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号