我意识到这个问题有几个问题,但我相信我的观点是独一无二的。
我有一个成熟的C#应用程序,我用它来进行科学数字运算。在代码中,我在24个HyperThread上启动了24个C#线程(即我有2个CPU,每个CPU有6个核心/ 12个线程)工作站。我运行Windows 7并且它处理得非常出色 - 我可以使用我的全部处理能力来完成我的工作。
我看到一些GPU宣传“448核心”。如果我买了其中一个,我的c#app能够使用它们吗?我的意思是不以任何主要方式重写我的代码。我开始的线程是否会被GPU核心而不是现在的CPU HyperThreads占用?
关注问题
嗨,我很欣赏我得到的答案 - 即使是否定的。
是否有其他硬件我应该考虑(不是太昂贵)会给我大量的核心,但是能够在不重写的情况下运行我的c#代码?
答案 0 :(得分:3)
你需要真正重写你的代码才能使用gpu。这些链接可能很有用: -
CUDA .NET - 通过.NET应用程序提供CUDA功能。
CUDA Sharp - nVidia Toolkit的C#包装器
这些基于nVidia CUDA系统,因此您当然需要一张nVidia卡。
答案 1 :(得分:2)
至于你的编辑,唯一可能的变化很少(取决于你当前的结构),是一个处理器。如果您不是制作通用软件,则可能运行48个非HT单个核心。不过,也许这不是瓶颈。你可以增加你的RAM,使一切通常更快到某一点。
答案 2 :(得分:1)
没有。 .Net线程不会自动利用GPU核心进行处理。它们与普通处理器内核非常不同。您需要更改程序以利用GPU处理。