2

我是 GPU 编程的新手,我还没有听说过任何其他方式(除了 CUDA 和 OpenCL)来使用视频板,所以我想知道是否有其他方式来使用它。任何人都可以指出一些例子吗?

还有一个问题:D:OpenGL 和 DirectX 是否利用了显卡的优势?如果是,你能告诉我怎么做吗?

PS:我使用 C++。

编辑:感谢您的快速回复。

据我所知,显卡用于并行处理(尤其是同指令多数据)。如果你提到了,我也想知道显卡是否还有其他用途(尤其是老的,因为他们不支持OpenCL和CUDA,我猜他们不能做并行处理) .

4

3 回答 3

2

其他 GPGPU 语言/标准

开放式ACC

开放式MP

还有一个问题:D:OpenGL 和 DirectX 是否利用了显卡的优势?如果是,你能告诉我怎么做吗?

在引入着色器之前,渲染过程是由固定功能电路顺序实现的。引入Shader Model之后,增加了顶点着色器处理器和像素着色器处理器来代替固定功能块。现在每个流核心都是统一的着色器处理器,它可以运行在DirectX11中引入的Vertex/Geometry/Pixel Shader以及Hull和Doman Shader,以及Compute Shaders -Kernels。因此,着色器的全部容量可以随时使用,最大化着色器性能效率。

于 2012-04-12T14:17:08.177 回答
1

我是 GPU 编程的新手,我还没有听说过任何其他方式(除了 CUDA 和 OpenCL)来使用视频板

有 OpenCL 和 OpenMP。ATI 也有某种 API(我认为),但我忘记了它叫什么。

OpenGL 和 DirectX 是否利用了显卡?

他们当然会。特别是 DirectX 旨在提供或多或少轻松访问硬件加速。您无法以相同的速度在 CPU 上执行渲染。

,我也想知道显卡是否还有其他用途

如果显卡支持浮点纹理,即使 GPU 不支持 CUDA/OpenCL/whatever,您也可以结合这些纹理使用片段/像素着色器在 GPU 上执行一些计算。我认为技术被称为GDGPU。DirectX sdk 前段时间有“GPU 布”的例子,在 NVidia OpenGL SDK 中有“GDGPU 流体”和“GPU 粒子”。请注意,以这种方式在 GPU 上尝试执行过于昂贵的计算(例如对渲染的每个像素在 4096x4096 纹理上执行详尽搜索)可能会在某些硬件上蓝屏系统。

于 2012-04-12T15:16:36.947 回答
0

OpenCL、OpenGL、DirectX 以及某种程度上的 CUDA 只是硬件供应商可以在驱动程序中实现的接口规范。然后,这些接口可以总线用于利用驱动程序驱动的任何内容。在大多数情况下,这是用于这些接口的 GPU。还有其他接口(WDDM 指定更多接口)与 GPU 通信,但它们都有特定的用例。您可能想通过“使用图形卡”来澄清您的意思。

于 2012-04-12T14:15:32.737 回答