A for a review of GPUs: A Closer Look at GPUs by K. Fatahalian. CACM, 2008
For assignment 2, could we have taken advantage of parts of the fixed function resources to make the program run faster? Or in general, if we wanted to write our own renderer using CUDA, how do we access these things?
You would use a graphics programming framework like OpenGL or Direct3D. Note this would be another example of using a domain-specific programming system to enable applications to be written in a manner that efficiently uses heterogeneous processing resources.