Recently had a quick look into General Purpose programming for GPUs. That looks like good fun.
There is one OpenGL example in Haskell's HOpenGL, which sends GLSL scripts to render stuff on the GPU (OpenGL2.0 seems to be required). It would be great to hack this to be able to extract some data again.
There is also a Mandelbrot rendered that pushes all the actual calculation into the GPU. Impressive - but as far as as I can see it doesn't extract any data again.
Some ideas here:
The GPU might be used for the simulation of musical instruments, if enough data could be extracted again.
It might also be used for other Fractal simulations (random landscapes), or physical systems (the Java sand/dust applet, for instance, adapted to run on the GPU...)
If I am to use it, I will have to write in C-like code (not Haskell), but I salivate at the prospect of running NDP or STM where most of the work is sent out to the GPU, and some multicore processes handle the rest.
Vertigo looks cool, but I would prefer something that might run on Linux or a Mac.