Just found this amazing demo while searching the web for "SPPM": http://graphics.ucsd.edu/~toshiya/gpusppm.zip It's written in GLSL and runs on ATI (R600 and up) and Nvidia (G80 and up) cards. It's really fast even on my feeble 8600M GT.
Caustics converge very fast! I now understand why this is considered superior to pathtracing. Having SPPM in SLG will be crazy awesome
You'll need glut32.dll in the same directory to run the GPU demo
the rest of the page is here
I get a peak of 9.46 million photons/sec on my system.
Radeon 4670, and i7 930 at 3.2ghz. GPU is overloaded, slow desktop frame rate, but CPU barely heats up. Everything is going GPU real soon
Scene clears out so quickly, even on my weak video card. Pretty much converged within 5.5 mins with 3100+ million photons
It does caustics really well. Better than Bidirectional PT, maybe, but it has the same kind of look.
I wonder if this method is better than MLT for caustics and other hard to render things like refracted caustics on rough surfaces underwater etc?