Preparing Students for Future Architectures with an Exploration of Multi- and Many-Core Performance (ACM)
The recent progression of modern computer architectures from serial to multi-core to many-core has raised numerous questions about the placement of parallel computing topics in undergraduate computer science curricula. While several papers have explored how programming and algorithms courses might introduce parallel programming topics, there has been very little discussion of the changes needed in computer organization and architecture coursework to help students understand key issues about the behavior of these platforms. To increase the relevance of these courses and to tackle more modern architectural issues, we propose extending the performance coverage of a traditional computer organization course to include an exploration of the quantitative characterization of a program‘s performance on a variety of architectural platforms, including modern GPU hardware.
In this paper, we outline the changes made to the Computer Organization and Design course at University of Wisconsin -- Eau Claire. These modifications included a 3 week unit on the basics of parallel and GPU architectures, along with a tiered project on program optimization.
Paper available at ACM.