Proceedings of the 52nd ACM Technical Symposium on Computer Science Education | 2021

Teaching about Heterogeneous Computing

 
 
 

Abstract


CS faculty have spent the last several years adding parallel computing to their curricula since essentially all processors sold today have multiple cores. A typical target system is a multicore processor with identical cores. This is currently the main configuration for desktop and laptop systems, but the technology continues to evolve and systems are incorporating several kinds of heterogeneity. Many phone processors include cores of different sizes, with high-performance fat cores and lower-performance thin cores , allowing the phone to vary its power and performance profile over time. Other processors incorporate low-power modes or special instructions for specialized computations. Meanwhile, high-end systems make heavy use of accelerators such as graphics cards. We are at a stage where heterogeneous computing concepts should pervade the curriculum rather than being limited to upper-level courses. In this workshop, we present modules to incorporate heterogeneous computing into core CS courses taken by all majors (e.g. CS 1, CS 2, Computer Organization). Attendees will have time to work through lab exercises and assignments associated with the modules while we assist. We will provide post-workshop support for instructors interested in adopting the modules. In addition, we will solicit feedback from them to help guide our future module development.

Volume None
Pages None
DOI 10.1145/3408877.3432506
Language English
Journal Proceedings of the 52nd ACM Technical Symposium on Computer Science Education

Full Text