I've been working (slowly) on a real-time viewer for a 2D and maybe eventually 3D Lyapunov fractal[0] viewer, and I think implementing the algorithms as a shader program is more practical than using CUDA. After all, CUDA is meant to get around the limitations of using graphics hardware for non-graphics applications, which isn't necessary when you are doing a graphics application.
I suppose so, yes. It's been possible to do a "reasonable" flame effect since the nvidia 5900 at least [0], and there's been a lot of work on fluid dynamics (including fire [1]) since then.
Oh yeah, I actually wondered about that after I posted :) I was on the fence about this, but all the examples I can find use CUDA, so I guess CUDA is the way to go: http://www.google.com/search?q=flame+fractal+on+GPU That makes sense, because it's more about huge matrices (flames are just big histograms) and less about textures on polygons.
Yes, there are CUDA implementations such as flam4, but I'm always interested in new possible approaches to the problem, since I'm writing a flame editor and CUDA doesn't play all that nicely with it.