I was interested in efficient graphics output, so I dug up an example of how to render some graphics on the GPU and display it on without moving the image back and forth between device and host. I've finally got it working, and made a GPU fractal rendererer. You can download it here. Check the gui.cu for key commands; + and - change the number of iterations, pgup/pgdown zoom manually, arrow keys move around, and then you can drag an area with the mouse to zoom into that area. Updated version with Julia fractal: pressing 'j' switches to Julia fractal renderer taken from the current center point.