Maybe a crazy question but is it possible to run threads on the GPU?
Reason I ask is I have some quite complicated computation to execute (it’s mostly maths and arrays) and would like to see if I can get any improvement in speed using the GPU.
Oh and I’d like to do this in C# or F# 🙂
Thanks
There is an abstract on the topic here:
http://microsoft.cs.msu.su/Projects/Documents/ILShaders/ilshaders.pdf — [[dead link]]
But I’ve yet to find a link to source.Here is the Google translated project page:http://translate.google.co.uk/translate?hl=en&sl=ru&u=http://microsoft.cs.msu.su/Projects/Pages/ILShaders.aspx&ei=QuieTu_tGsTD8QPk-tmmCQ&sa=X&oi=translate&ct=result&resnum=2&ved=0CCYQ7gEwAQ&prev=/search%3Fq%3DILShaders%26hl%3Den%26prmd%3Dimvns — [[deak link]]
I’ve looked at this topic before and haven’t found anything previously that actually took a compliant language and compiled it down onto the GPU.
There are plenty of libraries that expose GPU parts but you need to understand how to express your problem in a parallel data structure kind of way. These libraries can then be referenced in C#.
Some libraries:
CUDA.NET — dead link
Microsoft Accelerator — dead link
Various other Q/A sources:
Utilizing the GPU with c#
http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/239fd75b-05c3-4e4b-9835-6807940dc492
Update: SK-logic commented on tidepowerd, I’ve linked the “How It Works” section:
http://www.tidepowerd.com/product/howitworks — [[dead link]]
This looks like a good starting point to me. Not sure if it handles the MSIL directly, it initially looks like a post build step to generate custom code under the hood.