In this course, advanced GPU parallel programming techniques are taught that permit extremely compute-intensive applications to be run in real-time on a GPU cluster that is in the cloud. These applications demand 100x to 1000x more compute power than a single CPU (or even a GPU) can provide, making it necessary to utilize the cloud for computation. An additional layer of complexity is encountered into the computation model when the real-time response time constraint is introduced. Students will be exposed to not only the most challenging GPU programming methods, but also the intricacies of running such compute-intensive programs through high-latency communications links. Cross-listed with ECE 207/407; prerequisite: CSC266/466/ECE206/406 or permission of instructor.