Looking for an API to employ the wonderful powers of the GPU from .NET
.net, c#, gpu, parallel-processing
Solution
There are several options (sometimes with a difference regarding ATI versus nVidia though):
- Accelerator
- GPU.NET
- Brahma
- CUDAfy.NET (for a nice article see here)
- GLinq
- OpenCL.NET
- Conflux
- OpenTK
- VS 2011 Preview AMP - see here, here and here too
As per comments:
From the question it is hard to give any recommendation since some relevant aspects like are the algorithms easily expressed via LINQ ? How deep should .NET integration go ? etc. are basically not clear to me from the question... the above is just a list of currently available technologies to use GPUs for computational work via .NET .
IF a recommendation is needed please give more details on the type development/projects you want to implement...
Problem
I'm looking for a nice API to use for implementing algorithms on the GPU. I would prefer something relevantly simple and flexible. I'm not looking for the most hardcore performance, but for something I can play around with. Also I would really prefer something that works both on Nvidia and ATI cards... Good recommendation, especially based on experience might be rewarded with a bounty. Currently the algorithms we are discussing are image processing, i.e. relevantly simple manipulations over very large matrices... for me I would love to be able to just take PLINQ expressions to the GPU, And also have an API like System.Threading.Tasks.Parallel , that would execute stuff on the GPU... We're mostly in the initial exploring phase here... And again working cross platform is pretty much a requirement...