Workshop: Keynote: Preparing HPC Education for a Post-Moore Future
Abstract: Though considerable progress has been made on integrating parallel and distributed computing into Computer Science curricula, many challenges still remain especially earlier in the undergraduate curriculum and later in continuing education for computing professionals. The first part of this talk will summarize experiences with HPC education in a sophomore-level course titled "Fundamentals of Parallel Programming" (COMP 322) introduced at Rice University in 2011. The learning outcomes for COMP 322 fall into three course modules -- Parallelism, Concurrency, and Distribution. We will also present experiences with a Coursera specialization that was introduced in 2017 based on COMP 322 material, but adapted into a continuing education format for computing professionals. This specialization consists of three courses, derived from the three modules in COMP 322.
In the second part of the talk, we will summarize future computing trends as we approach the end of Moore's Law, and identify pedagogic concepts that will be relevant for the post-Moore era. These "extreme heterogeneity" disruptions include new kinds of heterogenous processors and accelerators, heterogeneous memories, near/in-memory computation structures, and even non von Neumann computing elements. In our opinion, selected concepts from current pedagogy can provide a valuable starting point for creating new pedagogical materials for the post-Moore era. These concepts include task parallelism, data flow execution, and locality/distribution control as first-class primitives, which can enable strong semantic guarantees, as well as a promising foundation for post-Moore systems and also modern heterogeneous processors including CPUs, GPUs, DSPs, FPGAs, and NMPs.