I finally got it all down in the GPU, back, and rendering!
I also got it work for 2D as well as 3D grids.
Here is a graph of current frame rate in frames per second (y axis) vs. size of the grid (x-axis). The CPU is way faster than the GPU which means it is time for a lot of optimizations to be done or use a new approach (or both).
But having everything finally working in the GPU is a good thing.
And here is a screen shot of smoking in the GPU.
Plans for the week:
-CHANGE THE COLOR OF THE SMOKE
-Make improvisations on the GPU code
-Make movies for large grids (I am sorry computers)