Logo
Print this page

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