Topic outline

  • General

    Modern HPC tools

    The topic of this course is high-performance computing (HPC), namely heavy-duty computing on clusters or supercomputers with thousand(s) to million(s) of cores. You will learn about the main HPC architectures (tightly versus loosely coupled architectures), distributed memory and hybrid (distributed + shared memory) programming models, message-passing interface, threading, and massive parallelism with graphics processing units (GPUs). 

    Implementation: Pre-recorded lectures, lecture slides, pre-assignments (reading and preparing to answer questions during the lecture times), weekly exercises; all exercise materials are distributed and returned through the course A+ page:

    https://plus.cs.aalto.fi/cs-e400201/2021/

    Pre-requisites: Course CS-E4580 Programming Parallel Computers is recommended. Good understanding of computer programming, algorithms and data structures is necessary. Basic programming skills with C are required, which is used in the assignments. Knowledge of Unix, shell scripting, and/or supercomputer architectures is a bonus.