CMSC 22240 1 (Winter 2021) Computer Architecture for Scientists

The course provides an understanding of the key scientific ideas that underpin the extraordinary capabilities of today’s computers, including speed (gigahertz), illusion of sequential order (relativity), dynamic locality (warping space), parallelism, keeping it cheap - and low-energy (e-field scaling), and of course their ability as universal information processing engines. These scientific principles provide a model for software architects, engineers, data scientists, and other computation users to reason about the performance of their programs on laptops, accelerators (GPUs), servers, and the cloud. Using the scientific principles as underpinnings, we create principled performance models for dynamic locality (caches), scaleup (parallelism), and scaleout (cloud parallelism). This approach arms users of computers with a high-level performance model for computing. Finally, the course provides a longer-term understanding of computer capabilities, performance, and limits to the wealth of computer scientists practicing data science, software development, or machine learning.

Students may not receive credit for both CMSC 22200 and 22240. This course is an optional prerequisite for CMSC 23000 (parallel to others)