High Performance Computing for Science and Engineering (HPCSE) I





Prof. Dr. Matthias Troyer

Dr. Panagiotis Hadjidoukas

Teaching Assistants


Dmitry Alexeev

Guido Novati

Dr. Ursula Rasthofer

Donjan Rodic

Thomas Haner

Damian Steiger

 For Questions:

This email address is being protected from spambots. You need JavaScript enabled to view it.

  >> Exam Information <<  (updated 16.12)

Class Room


ML H44

Class Times


Friday: 10:15 - 12:00 (Lecture, ML H44)

Friday: 08:15 - 10:00 (Exercises, ML H44) 

Computer Rooms

HG E26.1, E26.3, E27
Material git repo: http://gitlab.ethz.ch/hpcse_hs16/lecture


30.09.2016 Multithreading
07.10.2016 Monte Carlo Integration,  OpenMP (part 1) 
14.10.2016 OpenMP (part 2)
21.10.2016 Performance-Roofline
28.10.2016 SIMD
04.11.2016 Dense Linear Algebra
11.11.2016 Sparse Linear Algebra, Monte Carlo (part 2)
18.11.2016 MPI
25.11.2016 Particles
02.12.2016 MPI (part 2) (updated 09.12)
09.12.2016 Particle Mesh methods
16.12.2016 Recap / Discussion (Exercises)
23.12.2016 EXAM



- The exercises begin in the second week of the semester.

- The exercises are also available at the git repository.


Set1: PDF, SlidesSolution
  Euler Demo: Slides, Code
07.10.2016 Set2: PDFSlides, CodeSolution
14.10.2016 Set3: PDFSlidesSolution
21.10.2016 Set4: PDFSlidesSolution
28.10.2016 Set5: PDFSolution
04.11.2016 Set6: PDF,  Solution
11.11.2016 Set7: PDF, Solution
18.11.2016 Set8: PDFSlides, CodeSolution
25.11.2016 Set9: PDF, Solution
  MPI on EulerMPI on slab
02.12.2016 Set10: PDFCodeSolution
09.12.2016 Set11: PDFCodeSolution


Auxiliary Material   

Bash tutorialCommand Reference

- C++ notes: BasicsTemplatesClasses



Sample Exam Sheet (2012): It included some topics that are NOT part of this semester's lecture. 

Sample Exam Sheet (2015): It included some topics that are NOT part of this semester's lecture. (skeleton codes)

Documentation: Lecture slides and exercise solutions, Manuals for C++, OpenMP,  MPI and SIMD. Available during the exam (updated 16.12)



Useful Links

General links on HPC and clusters:

SC15 Tutorial Preview Videos

Brutus/Euler wiki (VPN required)
CSCS users page

HPC tutorial at LLNL - Blaise Barney


C++ links:


OpenMP links:

OpenMP SpecificationsOpenMP C/C++ Summary Card


MIPS simulators:

Online basic MIPS simulator  (example code)

MARS MIPS simulator


MPI links:

MPI Specifications

MPI Routines

MPI Man Pages



SIMD links:

Intel Intrinsics Guide


For Windows users:

PuTTY: a simple free SSH client for Windows

WinSCP: for copying files between Windows and Euler

Cygwin: Linux-like environment on Windows (Installation hints)



Parallel Program Design - Ian Foster

How the Computer Works - The CPU and Memory


The Parallel Dwarfs project

The Landscape of Parallel Computing Research: A View from Berkeley



Introduction to High Performance Computing for Scientists and Engineers, G. Hager and G. Wellein, CRC Press, 2011

Introduction to Parallel Programming

Computer Organization and Design, D.H. Patterson and J.L. Hennessy