SDS 402: Introduction to High Performance Computing
Course Title |
Introduction to High Performance Computing |
||||||
Course Code |
SDS 402 |
||||||
Course Type |
Mandatory |
||||||
Level |
Master’s |
||||||
Year / Semester |
1st / 1st (Subject to change) |
||||||
Instructor’s Name |
Giannis Koutsou |
||||||
ECTS |
10 |
Lectures / week |
1 (2h) |
Laboratories / week |
1 (2h) |
||
Course Purpose and Objectives |
1. Provide the students with the necessary computer programming and software engineering background to solve complex problems by numerical methods. 2. Introduce the basic concepts in high performance computing (HPC), understand modern computer architectures, optimization strategies and the parallel programming. Cluster, grid and cloud computing will be introduced. |
||||||
Learning Outcomes |
Students will develop the skills necessary to write their own codes, and will be trained in common practices used to implement numerical methods in software. They will learn high-performance computing techniques, and the utilization of multiprocessing and multithreading. Students will also develop an understanding of the landscape of HPC architectures and an overview of how such machines are utilized. |
||||||
Prerequisites |
None |
Requirements | - | ||||
Course Content |
Programming for numerical methods: Introduction to programming. Example implementations of common numerical algorithms. Introduction to parallel programming. Basics of programming parallel computers including distributed (MPI) and shared memory (OpenMP) programming. HPC architectures and parallel computing: Introduction to HPC architectures and the landscape of supercomputer technologies. Distributed and shared memory architectures and their programing paradigms. |
||||||
Teaching Methodology |
Lectures, exercises |
||||||
Bibliography |
M. Quinn, “Parallel Programming in C with MPI and OpenMP”, ISBN-13: 9780072822564 V. Eijkhout, “Introduction to High-Performance Scientific Computing”, ISBN: 978-1257992546 W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery, “Numerical recipes in C: the art of scientific computing”, Cambridge University Press, 1992, ISBN:0-521-43108-5 |
||||||
Assessment |
25% coursework, 75% exam |
||||||
Language |
English |