30 January 2008

Interesting stuff - GPU general programming

An interesting library I stumbled across on the Internet the other day enables the user to accelerate general code by using your graphics hardware. An open-source library libsh provides a high level metaprogramming language in C++ for programming GPUs.

Unfortunately, libsh is no longer actively developed because the developers behind it have created a commercial business around it (those lucky guys have found a way to make programming pay!)

It would be nice to utilise the processing power of the GPU, essentially treating the hardware like another (more specialised) processing core. After all graphics cards have more transistors than the average CPU... I think I mentioned something like this in my multithreading post many a moon ago. But I suppose also it ties into virtualisation of the procesing hardware available on the computer which I even posted about before.

A great website for this type of stuff is General-Purpose Computation Using Graphics Hardware which does exactly what it says on the tin. There are active forums and tons of news and information.

Surprisingly there is not a huge amount of general purpose stuff out there freely available but as GPUs become more powerful and more programmable I am sure that will change. Personally I think the future would be to use a core of these multi-core processors to do the graphics, even if it is slightly specialised for stream processing or something. That would certainly negate the need for faster graphics buses as it would run on the processor (although other buses would still need to progress). But yet again I have digressed....