Description
This course is a hands-on introduction to high-performance computing (HPC) for PhD students whose research includes highly complex computational problems. The course will cover the HPC hardware infrastructure and programming models with emphasis on the HPC cluster currently available in KU. The first half of the course will focus on familiarizing the students with the available HPC tools such as the multicore processing nodes, graphics processing nodes, operating system, programming languages, job submission, communication protocols, and programming models. The second half of the course will apply these tools to the solutions of computational problems from various engineering disciplines, including video processing, computer animation, large-scale power grid analysis, deep learning, computational electromagnetics, and computational fluid dynamics. One distinguishing feature of this course is a semester-long project that will result in the implementation of a full, working HPC program and its application to a computational problem in the student’s area of PhD research.