【问题标题】:Looking for an API to employ the wonderful powers of the GPU from .NET正在寻找一个 API 来利用 .NET 的 GPU 的强大功能
【发布时间】:2012-04-21 02:56:37
【问题描述】:

我正在寻找一个很好的 API 用于在 GPU 上实现算法。我更喜欢相关简单和灵活的东西。我不是在寻找最核心的性能,而是在寻找我可以玩的东西。另外,我真的更喜欢在 Nvidia 和 ATI 卡上都可以使用的东西……


好的推荐,尤其是基于经验的推荐可能会获得丰厚的奖励。


目前我们正在讨论的算法是图像处理,即对非常大的矩阵进行相关简单的操作...

对我来说,我希望能够将 PLINQ 表达式传输到 GPU,并且还拥有一个类似 System.Threading.Tasks.Parallel 的 API,它可以在 GPU 上执行东西...

我们主要处于初步探索阶段...

再次跨平台工作几乎是一项要求......

【问题讨论】:

  • @UweKeim 我正在寻找一种方法来为许多简单的并行计算获得非常高的性能。 DX 并不是真正要走的路:-P
  • 这里有一点引导问题。有人首先必须编写一个在 GPU 上运行的 CLR。不要为此屏住呼吸。
  • 我们最终选择了 C++ AMP...所以没有 C#...

标签: c# .net parallel-processing gpu


【解决方案1】:

有多种选择(虽然有时 ATI 与 nVidia 有所不同):

根据 cmets:

从这个问题很难给出任何建议,因为一些相关方面,比如算法很容易通过 LINQ 表达吗? .NET 集成应该走多远?等问题对我来说基本上不清楚......以上只是当前可用技术的列表,可通过 .NET 使用 GPU 进行计算工作。

如果需要推荐,请提供有关您想要实施的类型开发/项目的更多详细信息...

【讨论】:

  • 关于 OP 的要求,您会推荐哪一个:简单性和硬件独立性?
  • @NikolaAnusev 这很难回答,因为没有太多关于 OP 想要做什么的细节......如果他想要实现的算法很容易用 LINQ 表达,那么 Brahma 或 GLinq,如果需要最好的 .NET 集成,然后是 GPU.NET(尽管它在当前状态下仅适用于 nVidia)等。基本上没有任何进一步的细节,我只能推测......
  • @AK_ 目前市场上没有任何产品质量可以满足您的所有要求...如果您可以等待 VS 2011 / AMP 在产品质量方面出现,您可能会得到大部分您想要的东西想要...否则您将需要牺牲部分要求恕我直言...
【解决方案2】:

除了其他答案中提到的其他项目,我认为值得一提的是Cloo项目,它是OpenCL的开源面向对象的.NET包装器。

【讨论】:

    猜你喜欢
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 2021-12-25
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多