Download

D2X-XL Worklog

Notes on features and problems from the development of D2X-XL, newest first.

GPGPU Experiments

GPGPU stands for 'General Purpose Graphic Processor Unit'. Basically it means that you 'abuse' a graphics card for doing some computations that have nothing to do with rendering graphics. As they have a lot of floating point computing power and parallelism, modern graphics cards lend themselves well to such applications. There is for example a special folding at home client doing it's work on a graphics card, which is several times faster than it's CPU driven counter part - so fast that you can actually watch a 3D image of the proteines move on the graphics card while it's states get computed.

This sounded really good, and as vertex light calculation for OpenGL style rendering still is somewhat of a bottleneck in D2X-XL's renderer I thought 'why not put this on the graphics card?'. And that's what I did, and I got it to work, yay! That's the good news. The bad news is that it isn't faster than doing it on the CPU. It's actually slower if you have a multi core CPU and run D2X-XL multi threaded. I am still satisfied though. For one I know that D2X-XL is as fast as can be in this area, and besides that I now know how GPGPU works and can handle it myself. That's a good result in my book.