I don't know if this has already been discussed here, but I just read about
Accelerator, and I think it's pretty cool. I found it by browsing the C9 Wiki.
Basically, it's high-level data-parallel programming model, published as a .NET Library, that <quote>translates data-parallel operations on-the-fly to optimized GPU pixel shader code and API calls</quote>.
Read the technical report
here.

It's all well and good, but I can't help but feel they're a bit sneaky in not counting the time taken to read data back from the graphics card in their benchmarks. The video bus isn't optimised for reading and so that's got to be something of a bottleneck
with any technique like this.

1) PCIe is much better than AGP and transferring data back. In effect, the asymmetry has been erased.

2) On the smaller benchmarks, the communication time is kind of irrelevant. If convolving with a 5x5 filter is your entire computation, then it’s probably not worth parallelizing anyway. For the larger benchmarks, take StereoMatch as an example. The communication
time adds < 25%. That’s pretty small compared to a 4x speedup over C++.

DLL 'C:\WINDOWS\assembly\GAC\Microsoft.DirectX.Direct3D\1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.Direct3D.dll' is attempting managed execution inside OS Loader lock. Do not attempt to run managed code inside a DllMain or image initialization function
since doing so can cause the application to hang.

Thread Closed

This thread is kinda stale and has been closed but if you'd like to continue the conversation,
please create a new thread in our Forums, or
Contact Us and let us know.