COMP 364: High-Performance Computing

Course Information


This course covers parallel architectures and parallel models of computation. Algorithms for achieving high performance in various computational contexts are discussed. Models such as shared memory, message passing, and hybrid modes of computing are introduced.


This course is motivated by the realization that CPU speeds are leveling off at between 3GHz and 5GHz. The need for programs to be faster and more efficient is all the more important at a time when applications are getting increasingly larger and more complex. We will introduce techniques to gain a performance boost in Java programs and C++ (or C) programs by discussing the use of multiple processors.

This course makes use of departmental HPC resources. Please see the Systems Handbook at for details about our various HPC computing systems and partner resources.


Students will learn how to engineer solutions to practical problems in multiprocessor architectures and using large physical memories.


See the Current Course Syllabi.