VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.
High Performance Computing for Science and Engineering (HPCSE) I
Last Updated: 2026-02-05 16:02:03
Abstract
This course gives an introduction into algorithms and numerical methods for parallel computing on shared and distributed memory architectures. The algorithms and methods are supported with problems that appear frequently in science and engineering.
Objective
With manufacturing processes reaching its limits in terms of transistor density on today’s computing architectures, efficient utilization of computing resources must include parallel execution to maintain scaling. The use of computers in academia, industry and society is a fundamental tool for problem solving today while the “think parallel” mind-set of developers is still lagging behind. The aim of the course is to introduce the student to the fundamentals of parallel programming using shared and distributed memory programming models. The goal is on learning to apply these techniques with the help of examples frequently found in science and engineering and to deploy them on large scale high performance computing (HPC) architectures.
Content
1. Hardware and Architecture: Moore’s Law, Instruction set architectures (MIPS, RISC, CISC), Instruction pipelines, Caches, Flynn’s taxonomy, Vector instructions (for Intel x86) 2. Shared memory parallelism: Threads, Memory models, Cache coherency, Mutual exclusion, Uniform and Non-Uniform memory access, Open Multi-Processing (OpenMP) 3. Distributed memory parallelism: Message Passing Interface (MPI), Point-to-Point and collective communication, Blocking and non-blocking methods, Parallel file I/O, Hybrid programming models 4. Performance and parallel efficiency analysis: Performance analysis of algorithms, Roofline model, Amdahl’s Law, Strong and weak scaling analysis 5. Applications: HPC Math libraries, Linear Algebra and matrix/vector operations, Singular value decomposition, Neural Networks and linear autoencoders, Solving partial differential equations (PDEs) using grid-based and particle methods
Resources
Lecture Notes
https://www.cse-lab.ethz.ch/teaching/hpcse-i_hs22/Class notes, handouts
Literature
• An Introduction to Parallel Programming, P. Pacheco, Morgan Kaufmann • Introduction to High Performance Computing for Scientists and Engineers, G. Hager and G. Wellein, CRC Press • Computer Organization and Design, D.H. Patterson and J.L. Hennessy, Morgan Kaufmann • Vortex Methods, G.H. Cottet and P. Koumoutsakos, Cambridge University Press • Lecture notes
Learning Materials (Links)
- Main link
- Course Page
General Information
- Language
- English
- Levels
- BSC , DR , MSC
- Frequency
- Yearly recurring
Examination
- Type
- session examination
- Mode
- written 180 minutes
- Aids
- You are allowed to bring a HANDWRITTEN summary of 4 A4 sheets, written on the front and back pages (8 pages total). Photocopies are not allowed.
- Digital
- The exam takes place on devices provided by ETH Zurich.
Course Components
| Type | Title | Time & Place | Hours |
|---|---|---|---|
| lecture with exercise | High Performance Computing for Science and Engineering (HPCSE) I |
|
4 h weekly |
Offered In
-
-
-
-
Electives (Students may also choose courses from the Master's program in Computer Science. It is their responsibility to make sure that they meet the requirements and conditions for these courses.)
-
-
-
-
Energy, Flows and Processes (The courses listed in this category “Core Courses” are recommended. Alternative courses can be chosen in agreement with the tutor.)
-
Mechanics, Materials, Structures (The courses listed in this category “Core Courses” are recommended. Alternative courses can be chosen in agreement with the tutor.)
-
Robotics, Systems and Control (The courses listed in this category “Core Courses” are recommended. Alternative courses can be chosen in agreement with the tutor.)
-
Micro & Nanosystems (The courses listed in this category “Core Courses” are recommended. Alternative courses can be chosen in agreement with the tutor.)
-
Bioengineering (The courses listed in this category “Core Courses” are recommended. Alternative courses can be chosen in agreement with the tutor.)
-
-
-
-
-
-
-
-
General Electives (Students may choose General Electives from the entire course programme of ETH Zurich - with the following restrictions: courses that belong to the first or second year of a Bachelor curriculum at ETH Zurich as well as courses from GESS "Science in Perspective" are not eligible here. The following courses are explicitly recommended to physics students by their lecturers. (Courses in this list may be assigned to the category "General Electives" directly in myStudies. For the category assignment of other eligible courses keep the choice "no category" and take contact with the Study Administration ( ) after having received the credits.))
-
-
-
-
Doctorate Mechanical and Process Engineering (More Information at: )