Loading...

Course Code: CS3201
Course Name: High Performance Computer Architecture
Prerequisites: Computer Architecture & Organization, Operating Systems
Syllabus: Parallel Processing Concepts; Levels and model of parallelism: instruction, transaction, task, thread, memory, function, data flow models, demand-driven computation; Pipeline processor; Parallel architectures: superscalar architectures, multi-core, multi-threaded; Memory System design: Cache, Cache Coherence, NVM, 3D stacked memory; NOC Design; Domain-Specific Architectures for AI and ML: architecture, programming and typical accelerated system with GPU, NPU and TPU; Power-aware and energy aware HPC Design; Warehouse scale computers: server and cloud; design issues in HPC: Load balancing, scheduling, synchronization and resource management; Performance analysis of parallel programs; HPC based on cluster, cloud and Grid computing: economic model, infrastructure, platform, computation as service;
Texts: 1. John L. Hennessy and David A. Patterson. Computer Architecture: A Quantitative Approach (6th ed.). Elsevier India Pvt. Ltd. 2019.
2. George Hager and Gerhard Wellein. Introduction to High Performance Computing for Scientists and EngineersCRC Press, India, 2010.
3. Kai Hwang, Geoffrey C. Fox, Jack J. Dongarra, Distributed and Cloud Computing: From Parallel Processing to the Internet of Things, 1st Edition, Morgan Kaufmann (Elsevier), 2011
4. David Culler, Jaswinder Pal Singh, Anoop Gupta. Parallel Computer Architecture: A Hardware/Software Approach, The Morgan Kaufmann Series in Computer Architecture and Design, Elsevier, 1998.