C:使用任何GPU进行并行计算

C:使用任何GPU进行并行计算,c,parallel-processing,gpu,C,Parallel Processing,Gpu,我最近写了一些软件,可以做很多计算 计算分级别进行,而对于每个级别,其中的计算是独立的。也就是说,从逻辑上讲,我可以并行运行它们,因为它们都不依赖于其他结果 我的问题是:是否有一个通用C库,用于在所有平台(Windows/Unix/等)上运行的GPU上进行并行数学(矩阵)操作 当我说“强>一般我指的是某些图书馆将使用任何现代GPU < /P> < P> C是一个单线程语言,把你的计算分配到GPU上并行,对于像‘哦,我不知道’的比特币挖掘,你应该考虑使用C++中的AMP库。我不太确定整个编译在GP

我最近写了一些软件,可以做很多计算

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

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


<>当我说“强>一般<强>我指的是某些图书馆将使用任何现代GPU < /P> < P> C是一个单线程语言,把你的计算分配到GPU上并行,对于像‘哦,我不知道’的比特币挖掘,你应该考虑使用C++中的AMP库。我不太确定整个编译在GPU核心上运行,但我知道这肯定会并行执行您的计算

。。。卸载比特币矿商?;)

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

# IF (some operating system) THEN

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

我认为CUDA可能是您的目标。@LP:在ATI上?OpenCL是标准的。(是的,Nvidia不支持标准)。您可以使用OpenCl对CPU、GPU、DSP和各种其他设备进行编程。请看这里@BoykoPerfanov:我不想暗示“CL”的意思是“C语言”。“CL”是“计算语言”“事实上。但是IIRC,它在语法和语义上类似于C。但是这也适用于C++,这也是一种不同的语言。@ BykkPopfNoV:可能存在一些常见问题的包装库,但是如果你想利用整个特征集,你必须要本地化。我需要的是跨平台的东西。我知道AMP只适用于Windows