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

Rem*_*tte 3 gpu graphics-card cuda nvidia-graphics-card

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

询问的背景是我想知道是否可以同时玩游戏和渲染/转换内容,从而在我的机器开启时提高生产力。

CUDA 核心是 GPU 的工作核心还是可以专门用于计算的独立核心?

Mok*_*bai 5

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

来自维基百科关于着色器的文章:

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

现代显卡拥有成百上千个能够执行这些着色器的计算核心。它们曾经在几何、顶点和像素着色器之间分开,但现在架构是统一的,一个核心能够执行任何类型的着色器。这允许更好地利用资源,因为游戏引擎和/或图形卡驱动程序可以调整多少着色器适合哪个任务。分配给几何着色器的更多内核可以为您提供更多的景观细节,分配给像素着色的更多内核可以提供更好的后期效果,例如运动模糊或照明效果。

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

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

如果您降低游戏中的细节级别,您可以切实地将显卡的计算负载降低到可以用它来做其他事情的程度,但除非您可以告诉其他任务也减慢速度,否则它们可能会尝试占用图形处理器内核并使您的游戏无法玩。