Open GL Bindings (was Re: GPGPU Arrays)

Mikola Lysenko mikolalysenko at gmail.com
Thu Jul 12 11:18:45 PDT 2007


Craig Black Wrote:

> I've heard that recent versions of OpenGL have some GPGPU support, but I 
> don't know any details.  Anyone know where I could get this information?

GPGPU isn't really something that is supported, more as it is a terrible hack.  In theory, all you need are a few basic OpenGL extensions to make it work.  The basic idea is that you convert some (or all) of your computations into fragment shader operations, then feed them your data in the form a texture to get your result.  Making it all work isn't really pretty, and the tricks involved vary a lot from problem to problem.  In general, the basic strategy is to get the GPU to do as much as possible without CPU intervention.  For a brief tutorial see:

http://www.mathematik.uni-dortmund.de/~goeddeke/gpgpu/tutorial.html

More recently, the GPGPU community has been moving toward unified languages with much better support.  Right now the cutting edge technology is NVidia's CUDA language.  It is essentially a hacked up version of GCC with some support for running functions on the GPU.  I think it would be a very poor decision if D were to try incorporating these features at this time, since current development efforts are very closely tied to the hardware itself.  As NVidia keeps iterating their GPU technology, I would expect that these languages will change drastically - as well as their underlying interfaces.  Here is a link to the CUDA toolkit/compiler:

http://developer.nvidia.com/object/cuda.html

-Mik



More information about the Digitalmars-d mailing list