CUDA 核心与 GPU 上的渲染核心相同吗?

CUDA 核心与 GPU 上的渲染核心相同吗?

在读完 CUDA 核心后,我假设 CUDA 核心只是 GPU 的普通核心。它们可用于执行物理计算,以使用 PhysX 卸载 CPU,或者可用于执行其他计算密集型工作,例如编码/渲染,这在 CPU 上通常较慢。这也假设渲染图形只不过是大量计算,据我所知这是正确的。

提问的背景是我想知道是否可以同时玩游戏和渲染/转换东西,从而提高机器开启时的工作效率。

CUDA 核心是 GPU 的工作核心吗?还是它们是专门用于计算的独立核心?

答案1

现代图形引擎基于着色器。着色器是在图形硬件上运行的程序,用于生成几何图形(场景)、图像(渲染的场景)以及基于像素的后期效果。

来自 Wikipedia 有关着色器的文章:

着色器是描述顶点或像素特征的简单程序。顶点着色器描述顶点的特征(位置、纹理坐标、颜色等),而像素着色器描述像素的特征(颜色、z 深度和 alpha 值)。顶点着色器会针对图元中的每个顶点调用(可能在细分之后);因此一个顶点输入,一个(更新的)顶点输出。然后,每个顶点作为一系列像素渲染到表面(内存块)上,最终将发送到屏幕。

现代显卡拥有数百到数千个能够执行这些着色器的计算核心。它们过去被分为几何着色器、顶点着色器和像素着色器,但现在架构已统一,一个核心能够执行任何类型的着色器。这允许更好地利用资源,因为游戏引擎和/或显卡驱动程序可以调整将多少个着色器分配给哪个任务。分配给几何着色器的核心越多,景观的细节就越多,分配给像素着色的核心越多,可以提供更好的后期效果,例如运动模糊或灯光效果。

本质上,对于您在屏幕上看到的每个像素,都会在可用的计算核心上以不同级别运行多个着色器。

CUDA 只是 Nvidia 的 API,它允许开发人员访问 GPU 上的核心。虽然我听说过“CUDA 核心”这个术语,但在图形领域,CUDA 核心类似于流处理器,它是显卡使用的处理核心类型。CUDA 运行程序图形核心,程序可以是着色器,也可以是计算任务,以执行高度并行的任务,例如视频编码。

如果你降低游戏中的细节水平,你可以切实地减少显卡上的计算负荷,直到你用它来做其他事情,但除非你可以告诉其他任务也减慢速度,否则它们可能会尝试占用图形处理器核心并使你的游戏无法播放。

相关内容