Apr 28, 2024  
2023-2024 Undergraduate Catalog 
    
2023-2024 Undergraduate Catalog [Archived Catalog]

CS 52200 - High-Performance Computing


This course is an introductory course on high-performance computing. High-performance computing refers to the use of everything from software to hardware to speed up computations. As the CPU clock speed of desktop and commodity processors has decayed due to physical limitations, more creative use of software and parallel hardware is required to further speed up data processing. To program and accelerate applications on the new high-performance computing devices, we must understand both the computational architecture and the principles of program optimization. The driving outcome for this course is for students to understand and utilize high-performance computing concepts, architectures, and tools to develop and run optimized code for shared- and distributed-memory parallel programming models. Topics usually include parallel programming models, performance analysis, shared memory programming, parallel algorithm design, programming with message-passing, and advanced topics such as CUDA and hybrid programming. 

Cr. 3.