mcm*_*lab 154
[ 编辑2017年10月,即使这个答案变得相当古老 ]
这些答案中的大部分都是相当陈旧的,所以我想我会更新一下我认为每个项目的位置:
GPU.Net(TidePowerd) - 我在6个月前左右尝试过这个版本,虽然花了一点点工作但确实让它工作了.在编译时将C#内核代码转换为cuda.不幸的是,他们的网站已经关闭,他们的github几年没有更新,这可能表明项目已经死了......
Cudafy - 开源,非常好用.在运行时将C#内核代码转换为cuda(具有序列化和缓存功能).可以在CPU上轻松运行相同的内核代码(主要用于调试).支持多个GPU.这里有比其他更多的例子.其他答案所引用的样板代码很少,在我的情况下至少有助于我理解代码的工作原理.Cuda/Nvidia虽然.不幸的是,他们似乎也没有更新他们的解决方案几年(2015年最新提交 - 支持cuda 7.0).
Hybridizer.商业解决方案将C#编译为CUDA.在visual studio marketplace上提供免费社区版,并在github 上提供样本.
AleaGPU商业解决方案,为消费者GPUS提供免费社区版.有关详细信息,请参阅Daniel的评论.
Brahma - 通过OpenCL运行LINQ表达式(因此也支持AMD).文档/示例不多.2011年最后更新.
C $ - 最后一次开发是在十多年前......
Microsoft Accelerator - 同样看起来不再像以前那样积极开发.
其他一些(C++ AMP,OpenTK - dead/Cloo) - 其中许多只是绑定 - 即允许你从C#调用GPU,但你的内核代码(实际在GPU上运行的代码)需要写入C或OpenCL,意味着您必须使用(和学习)另一种语言.
正如我所说,我会推荐Cudafy而不是其他所有人 - 如果它可以在OpenCL和Cuda上运行,那将是完美的.
编辑2013年9月 Cudafy现在允许您编译双方 CUDA和OpenCL,所以会在所有GPU上运行相同的C#代码.这听起来很棒,虽然我还没有测试过OpenCL编译.
Dav*_* R. 10
我可以推荐XNA Game Studio作为探索的可能途径吗?它显然适合编写游戏,但可以让您对图形卡进行管理访问,并且可以更好地访问功能枚举功能和着色器开发,而不是之前的Managed DirectX.还有将WinForms和XNA结合到混合应用程序中的方法:
http://www.ziggyware.com/news.php?readmore=866
您将不得不付出一些努力来学习着色器编程(XNA支持HLSL),但这可能比学习特定于供应商的解决方案(如nVidia的CUDA)更简单.优点是您可以在100%受管环境中进行编程.以下是一些HLSL链接:
http://www.ziggyware.com/weblinks.php?cat_id=9
GPGPU站点也是通用GPU编程的推荐目标:
祝你好运!
如何http://www.tidepowerd.com/ GPU.NET?
以某种方式管理 DirectX,可能会起作用
| 归档时间: |
|
| 查看次数: |
77452 次 |
| 最近记录: |