我是GPU编程的新手,我还没有听说过使用视频板的任何其他方式(除了CUDA和OpenCL),所以我想知道是否有其他方法可以使用它。有人能指点我一些例子吗?
还有一个问题:D: OpenGL和DirectX是否利用了显卡?如果是的话,你能告诉我怎么样吗?
P.S:我使用的是C ++。
编辑:感谢您的快速回复。
据我所知,显卡用于并行处理(尤其是相同指令多数据)。如果你提到它,我也想知道是否还有其他类型的显卡使用(特别是对于旧显卡,因为它们不支持OpenCL和CUDA,我猜他们不能做并行处理)
答案 0 :(得分:2)
Addional GPGPU Languages / Stanadards
还有一个问题:D:OpenGL和DirectX是否利用了 显卡?如果是的话,你能告诉我怎么样吗?
在引入着色器之前,已实现渲染过程 在引入Shader模型之后,添加了顶点着色处理器和像素着色处理器来替换固定功能块。 现在每个流核心都是统一的着色器proccessor,它可以运行Vertex / Geometry / Pixel Shader以及Hull和Doman Shader,它在DirectX11和aslo Compute Shaders -Kernel中生成。因此,着色器的全部容量可以随时使用,最大化着色器性能效率。
答案 1 :(得分:1)
我是GPU编程的新手,我还没有听说过任何其他方式(除了CUDA和OpenCL)使用视频板
有OpenCL和OpenMP。 ATI也有某种API(我认为),但我忘记了它的名称。
OpenGL和DirectX是否利用了显卡?
他们当然可以。特别是DirectX旨在提供或多或少的轻松访问硬件加速。您无法以相同的速度在CPU上执行渲染。
,我还想知道是否还有其他类型的显卡用途
如果卡支持浮点纹理,您可以使用片段/像素着色器与这些纹理结合在GPU上执行某些计算,即使GPU不支持CUDA / OpenCL等等。我认为技术被称为GDGPU。不久前DirectX sdk有“GPU布”的例子,在NVidia OpenGL SDK中有"GDGPU fluid" and "GPU particles"。请注意,尝试执行过于昂贵的计算(如对GPU上的每个像素执行4096x4096纹理的详尽搜索),这样可以在某些硬件上对系统进行蓝屏。
答案 2 :(得分:0)
OpenCL,OpenGL,DirectX以及在某种程度上,CUDA只是硬件供应商可以在驱动程序中实现的接口规范。然后,这些接口可用于使用由驱动器驱动的任何总线。在大多数情况下,这是这些接口的GPU。还有其他接口(WDDM指定更多接口)与GPU通信,但它们都有某些用例。 您可能想要通过“使用grahpics卡”来澄清您的意思。