401-3670-00L  High-Performance Computing Lab for CSE

SemesterSpring Semester 2020
LecturersR. Käppeli, O. Schenk
Periodicityyearly recurring course
Language of instructionEnglish


401-3670-00 GHigh-Performance Computing Lab for CSE Special students and auditors need a special permission from the lecturers.
Permission from lecturers required for all students.
4 hrs
Mon13:15-17:00HG E 41 »
O. Schenk
401-3670-00 PHigh-Performance Computing Lab for CSE1 hrsby appt.R. Käppeli

Catalogue data

AbstractThis HPC Lab for CSE will focus on the effective exploitation of state-of-the-art HPC systems with a special focus on Computational Science and Engineering. The content of the course is tailored for 3th year Bachelor students interested in both learning parallel programming models, scientific mathematical libraries, and having hands-on experience using HPC systems.
ObjectiveA goal of the course is that students will learn principles and practices of basic numerical methods and HPC to enable large-scale scientific simulations. This goal will be achieved within six to eight mini-projects with a focus on HPC and CSE.
ContentDespite the success of parallel programming languages standardization, there is growing evidence that future computational science applications will depend on a computational software stack. The computational software approach in this HPC Lab is based on building and using small, simple software parts with flexible, easy-to-use interfaces. These simple software parts are toolkits - libraries containing basic services commonly needed by applications - and they build the underlying software layer for computational science and engineering applications. This course will introduce some of the many ways in which mathematical HPC software and numerical algorithms in computer science and mathematics play a role in computational science. The students will learn within several mini-projects how these algorithms and software can be used to enable large-scale scientific applications. It covers topics such as single core optimization for the memory hierarchy, parallel large-scale graph partititoning, parallel mathematical linear solvers, large-scale nonlinear optimization, and parallel software for the mathematical solution of nonlinear partial differential equations. The course takes both an algorithmic and a computing approach, focusing on techniques that have a high level of applicability to engineering, computer science, and industrial mathematics.
Lecture notesLink to Moodle course: https://moodle-app2.let.ethz.ch/course/view.php?id=12315#section-0
Prerequisites / NoticeSolid knowledge of the C programming language, parallel programming paradigms such as OpenMP and MPI, and numerical methods in scientific computing in the area of linear algebra, mathematical optimization, and partial differential equations.

The students might continue to study these HPC techniques within the annual USI-CSCS summer school on "Effective High-Performance Computing & Data Analytics Summer School". The content of the course is tailored for intermediate graduate students interested in both learning parallel programming models, and having hands-on experience using HPC systems. Starting from an introductory explanation of the available systems at CSCS, the course will progress to more applied topics such as parallel programming on accelerators, scientific libraries, and deep learning software frameworks. The following topics will be covered: GPU architectures, GPU programming, Message passing programming model (MPI), Performance optimization and scientific libraries, interactive supercomputing, Python libraries, Introduction to Machine Learning, and GPU optimized framework. The Summer School will be held from July 13 to 24, 2020 at the Steger Center in Riva San Vitale, located in the Italian area of Switzerland.

More information about the summer school is available here: Link

Performance assessment

Performance assessment information (valid until the course unit is held again)
Performance assessment as a semester course
ECTS credits7 credits
ExaminersO. Schenk, R. Käppeli
Typesession examination
Language of examinationEnglish
RepetitionThe performance assessment is offered every session. Repetition possible without re-enrolling for the course unit.
Mode of examinationoral 30 minutes
Additional information on mode of examination40% of the grade is determined by mandatory graded project works and 60% is determined by the final oral exam during the official examination period.
This information can be updated until the beginning of the semester; information on the examination timetable is binding.

Learning materials

No public learning materials available.
Only public learning materials are listed.


No information on groups available.


General : Special students and auditors need a special permission from the lecturers
Permission from lecturers required for all students
PriorityRegistration for the course unit is only possible for the primary target group
Primary target groupComputational Science and Engineering BSc (406000)

Offered in

Computational Science and Engineering BachelorModule BWInformation