ME 344: Introduction to High Performance Computing | Stanford University | Summer, 2018
ME 344 is an introductory course on High Performance Computing (HPC), providing a solid foundation in parallel computer architectures, programming models, and essential optimization strategies. This course will discuss fundamentals of what an HPC cluster consists of, and how we can take advantage of such systems to solve large scale problems in wide ranging applications like computational fluid dynamics, image processing, machine learning and analytics. The course will consist of lectures, and practical hands-on homework assignments conducted on an Intel® Xeon Phi Processor based HPC Cluster using various software tools that are part of Parallel Studio XE. In addition to classroom instruction, experience with the latest cutting-edge hardware and interaction with industry experts, the course features hands on projects that emphasize on the application of High Performance Computing and enable students to build upon their knowledge. These include fundamental exercises wherein the students build an HPC cluster from the ground up and applied projects where the students utilize HPC paradigms to build a Deep Learning application. This course is open to both computer scientists and computational scientists who are interested in learning about data parallelism, scaling to large number of nodes, and performance tuning methodologies and tools on standards driven languages and parallel models (C/C++/Fortran/MPI/OpenMP/ Threading Building Blocks/Python). As it’s desirable to have such a mix of students, the course will not assume much background, though good programming skills will be needed to get the most of the course.