使用Delphi利用GPGPU技术?

15

GPGPU是利用视频卡上的并行处理器以大幅提升性能的原则。

有人有关于在Delphi中使用OpenCL或CUDA使用GPGPU的想法吗?CUDA过去/现在只适用于NVidia,但他们也采用了OpenCL“标准”。

我通过Google搜索找到了一些Delphi示例,但它们要么崩溃,要么无法编译/运行。

最终的指令样本将是:

  1. 从这里下载并安装OpenCL DLLs。
  2. 从这里下载OpenCL SDK。
  3. 从这里下载此示例Delphi项目。
  4. 打开并编译Delphi项目。 如果一切顺利,它将执行“应该做什么”

那时我就可以开始研究OpenCL SDK,并编写/编译DLL以从任何Delphi应用程序调用。

这种东西真的开始起飞了。Embarcadero在这个阶段不必自己做任何事情(除非他们愿意),但如果有可用于Delphi的教程和示例,那将是很棒的事情。许多其他语言可以使用的示例都可用,但我们确实需要一个良好且简单的Delphi示例来展示使用Delphi进行GPGPU应用程序的易用性。


你想加速哪种算法?只有它们本质上是并行的才能起作用。 - Marco van de Voort
我目前的目标是图形/光线追踪等方面,这些都非常适合并行处理。我看到一些相关的例子可以实现数量级的加速。即使这可能会导致您的显卡过热,除非您有良好的散热系统。 - TallGuy
4个回答

9

您可能对Delphi 2007上的GPGPU感兴趣。

GPGPU示例加上Delphi 2007所需的OpenGL和CG库现在可用!

我昨天创建了必要的OpenGL和CG(delphi)包,并今天将C GPGPU OpenGL/CG示例转换/翻译/移植到Delphi中,并想与您分享,以便更多(Delphi)人研究GPGPU编程,特别是使用OpenGL 3.0为(旧)DX9图形卡。


9

CUDA仍然只属于nVidia,这点不会改变。OpenCL在这种情况下是一个真正的标准,不仅局限于GPGPU。

至于在Delphi中使用它,我所知道的只是如何在Free Pascal中使用它。然而,代码很可能是可移植的,这里有一个链接到更新的头文件:

FreePascal Mantis RFE OpenCL

至于DLL,如果你使用nVidia,可以在这里找到它们。

此处我们有一个在Delphi中的示例项目。


上面的“Here”链接已经失效。可以在这里找到替代示例:https://github.com/thecocce/delphi-opencl - z0rberg's

1

你应该使用CUDA DELPHI

在本地的Pascal代码中,你可以运行CUDA内核


1

上面的链接已经失效了。我在这里找到了替代示例:https://github.com/thecocce/delphi-opencl - z0rberg's

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接