Open GL Bindings (was Re: GPGPU Arrays)

Robert Fraser fraserofthenight at gmail.com
Thu Jul 12 13:20:30 PDT 2007


With D's insane metaprogramming capabilities, someone probably just needs to create a library for GPGPU similar to BLADE or something, where it analyzes what you're trying to do with D code (passed in as a compile-time string) and transforms it into GPU operations.

Mikola Lysenko Wrote:

> 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