有没有使用显卡的方法(除了CUDA和OpenCL)

Are there any ways of using the graphics card (apart from CUDA and OpenCL)?

本文关键字:CUDA 除了 OpenCL 方法 显卡 有没有      更新时间:2023-10-16

我在GPU编程方面很陌生,我没有听说过任何其他方法(除了CUDA和OpenCL)来使用视频板,所以我想知道是否有其他方法使用它。谁能给我举一些例子?

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

PS:我用C++。

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

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

其他 GPGPU 语言/斯坦纳达兹

小溪

OpenACC

开放MP

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

在引入着色器之前,渲染过程已经实现按固定功能电路顺序排列。在引入着色器模型后,添加了顶点着色器处理器和像素着色器处理器来取代固定功能块。现在每个流核心都是统一的着色器处理器,它可以运行顶点/几何/像素着色器以及DirectX11和Store计算着色器-内核中的Hull和Doman着色器,因此,着色器的全部容量可以随时使用,从而最大限度地提高着色器的性能效率。

我在GPU编程方面很陌生,我还没有听说过任何其他方式(除了CUDA和OpenCL)来使用视频板

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

OpenGL和DirectX是否利用了显卡?

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

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

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

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