WebGPU: A Scalable Online Development Platform for GPU Programming Courses
Parallel and Distributed Processing Symposium Workshops, 2016 IEEE International
The popularity of computer science classes offered through Massive Open On-line Courses (MOOCs) creates both opportunities and challenges. Programming-based classes need to provide consistent development infrastructures that are both scalable and user friendly to students. The "Heterogeneous Parallel Programming" class offered through Coursera teaches GPU programming and encountered these problems. We developed WebGPU - an online GPU development platform - providing students with a user friendly scalable GPU computing platform throughout the course. It has been used as the CUDA, OpenACC, and OpenCL programming environment for large Coursera courses, short-running summer schools, and traditional semester-long graduate and undergraduate courses. WebGPU has since replaced our traditional development infrastructure for the GPU classes offered at UIUC. This paper presents the original, revised, and upcoming WebGPU designs that address the requirements and challenges of offering sophisticated computing resources to a large, quickly-varying number of students.