我可以在c#中使用GPU中的核心而无需更改代码吗?

Man*_*oon 7 c# gpu

我意识到这个问题有几个问题,但我相信我的观点是独一无二的.

我有一个成熟的C#应用​​程序,我用于科学数字运算.在代码中,我在24个HyperThread上启动了24个C#线程(即我有2个CPU,每个CPU有6个核心/ 12个线程)工作站.我运行Windows 7并且它处理得非常出色 - 我能够使用我的全部处理能力来完成我的工作.

我看到一些GPU宣传"448核心".如果我买了其中一个,我的c#app能够使用它们吗?我的意思是不以任何主要方式重写我的代码.我开始的线程是否会被GPU核心而不是CPU HyperThreads占用,就像现在的情况一样?

关注问题

嗨,我很欣赏我得到的答案 - 即使是消极的.

是否有任何其他硬件我应该考虑(不是太昂贵)会给我大量的核心,但能够运行我的c#代码而不重写?

Ry-*_*Ry- 2

呵呵...不。没办法没办法。这些“核心”并不相同。要利用任何 GPU 计算,您需要以非常具体的方式编写计算。也许尝试一下OpenCL。但你的问题的答案是否定的。


至于您的编辑,唯一可能进行少量更改的东西(取决于您当前的结构)是处理器。如果您不制作通用软件,您可能可以运行 48 个非 HT 独立内核。不过,也许这还不是瓶颈。你可以增加你的内存,让一切变得更快到一定程度。