【问题标题】:C: Usage of any GPU for parallel calculationsC:使用任何 GPU 进行并行计算
【发布时间】:2015-08-27 03:04:37
【问题描述】:

我最近编写了一些软件,可以进行大量计算。

计算是按级别进行的,而对于每个级别,其中的计算都是独立的。 IE。从逻辑上讲,我可以并行运行它们,因为它们都不依赖于其他的结果。

我的问题是:是否有一个通用 C 库用于在 GPU 上进行并行数学(矩阵)运算,它适用于所有平台(Windows/Unix/等)?

当我说 general - 我的意思是一些可以与任何现代 GPU 一起使用的库

【问题讨论】:

  • 我认为 CUDA 可能是你的目标。
  • @LP:在 ATI 上? OpenCL 是标准的。 (是的,Nvidia 不支持标准)。
  • 您可以使用 OpenCl 对 CPU、GPU、DSP 和各种其他设备进行编程。见这里khronos.org/opencl
  • @BoykoPerfanov:我不想暗示“CL”的意思是“C 语言”。“CL”实际上是“计算语言”。但是 IIRC,它是 like语法和一些语义中的 C。但这也适用于 C++,而且这 也是一种不同的语言。
  • @BoykoPerfanov:可能有一些针对常见问题的包装器库,但如果你想利用整个功能集,你必须使用原生。

标签: c parallel-processing gpu


【解决方案1】:

C 是一种单线程语言,要将您的计算分配在 GPU 上并行运行,例如“哦,我不知道”比特币挖掘,您应该考虑使用 C++ 中的 AMP 库。我不太确定整个,编译以在 GPU 核心上运行的东西,但我知道这肯定会并行执行你的计算。

【讨论】:

  • 我需要跨平台的东西。我知道 AMP 仅适用于 Windows
【解决方案2】:

...停止加载比特币矿工? ;)

&好吧,如果你可以直接在宿主机上编译你的源码,那么你可以指定给编译器,

# IF (some operating system) THEN

& 这将解决这个问题。回到你的并行计算问题,CUDA.h 函数将在 GPU 上计算你的 this 和 that,但如果你说你已经编写了项目的计算部分,那很可能需要一些认真的 jigging。

【讨论】:

    猜你喜欢
    • 2012-06-23
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多