In keeping with NSF's mission of promoting scientific progress, this project strengthens the workforce of future cyberinfrastructure researchers and professionals by preparing undergraduate students to program and employ heterogeneous computing systems. The need for increased performance per watt and demands of processing diverse workloads have triggered a major industry shift towards systems containing different kinds of specialized components. These heterogeneous architectures are quickly becoming the dominant platform in high-performance computing (HPC), cloud computing, and Internet of Things (IoT) networks. As such, it is imperative that the scientific workforce in advanced cyberinfrastructure have a deep understanding of heterogeneity in computing systems. Current undergraduate computer science curricula lack sufficient coverage of heterogeneous computing concepts and there is an imminent risk that tomorrow's scientific workforce will be ill-equipped to program the complex heterogeneous systems of the future. This project addresses this by developing and disseminating modules covering heterogeneous computing concepts. Module development is complemented with out-of-class training camps that will serve as a springboard for undergraduates to pursue further training and career opportunities.

The project takes an early-and-often, module-driven approach to curricular integration. A collection of modules is being designed to cover a range of heterogeneous computing concepts including heterogeneous architectures, hybrid algorithms, and heterogeneous programming models such as CUDA and OpenCL. For easy adoption, modules are designed to be self-contained with all requisite teaching material including in-class interactive exercises, problem sets and solutions, and pedagogical notes. Each module is designed to exploit heterogeneous context within the curriculum and introduce topics at an appropriate level of abstraction. The summer training camps are designed to be immersive experiences for undergraduates that (i) reinforce and extend the material covered in the modules, (ii) present the role of cyberinfrastructure in advancing scientific research, and (iii) expose students to opportunities in the fields of computational and data science. A key component of this project is forging alliances with industry partners, who are engaged throughout the design process. A detailed evaluation plan is in place to evaluate student learning outcomes and engagement. Both internal and external evaluators are involved in carrying out the evaluation plan. The modules and training activities are expected to impact over 1,100 computer science undergraduates enrolled at Texas State, Knox College, and Concordia University Texas. Extensive dissemination efforts through faculty training workshops are expected to further broaden the impact of this work.


July '22: Faculty Training Workshop 2022: Teaching Heterogeneous Computing

Mar '22: YODA paper presented at SIGCSE22

Mar '22: Workshop at SIGCSE22: Teaching about Heterogeneous Computing

Jul '21: Core module paper accepted in Journal of Parallel and Distributed Computing (JPDC)

Jun '21: Faculty Training Workshop: Teaching Heterogeneous Computing

Mar '21: Workshop at CCSCNE21 Short Modules for Introducing Heterogenous Computing

Apr '21: Workshop at CCSCCP21: Short Modules for Introducing Heterogenous Computing

Mar '21: Workshop at SIGCSE21: Teaching about Heterogeneous Computing

Aug '20: Second Design Meeting

Nov '19: Paper presented at EduHPC19

Mar '19: First Design Meeting


Apan Qasem
E-mail: apan "AT" txstate · edu

David Bunde
E-mail: dbunde@knox.edu

Phil Schielke
E-mail: philip.schielke@concordia.edu