Courses

Schedule

Winter term 2022/23

  • Systemnahe und parallele Programmierung (SPP, Lecture)
  • Performance Engineering (Practical course)
  • Advanced Seminar (Oberseminar)

Virtual: The supplementary lectures will be recorded and provided via Moodle.

Summer term 2023

  • Performance Engineering (Seminar)
  • Compiler Tooling (Practical course)
  • Advanced Seminar (Oberseminar)

Winter term 2023/24

  • Automated Code Generation (Seminar)
  • Performance Engineering (Practical course)
  • Advanced Seminar (Oberseminar)

Automated Code Generation (AutoCode)

Objectives

  • Examples of Domain Specific Languages (DSL)
  • Automatic or Algorithmic Differentiation
  • Automatic Generation of Code

Seminar Materials

Slides for the seminar and additional material will be published through Moodle.

Rotation: Annually, each summer term. Schedule changes to winter term in term 2022/23.

Performance Engineering (PEng) – Seminar

Objectives

  • Architecture and organization of heterogeneous platforms
  • Execution models for heterogeneous platforms
  • Programming frameworks for heterogeneous platforms

Seminar Materials

Slides for the seminar and additional material will be published through Moodle.

Advanced seminar / Oberseminar

In the advanced seminar of the Scientific Computing group current research results are presented and discussed. Speakers are staff of the Scientific Computing Group, Students who are writing theses at the Scientific Computing group, and guests. Generally, the talks are open to the public.

Precondition: Introductory Lectures related to parallel computing and scientific computing.

Rotation: Annually, each term

Compiler Tooling

The course covers the construction and usability of compiler technology to construct static analysis and source to source transformation tools. Moreover, the course provides insight in and is closely related to current research activities at the institute.

The course is a practical course, referred to as internship in TuCAN, and covers areas of application for compiler technology besides the generation of executable code. In particular, the usage of Clang/LLVM to construct static analyzers and source to source translators is discussed and practically approached.

Objectives

  • Compiler intermediate representations
  • Construction of static analysis tools using Clang/LLVM
  • Construction of transformation tools using Clang/LLVM

Course outline

The practical part is accompanied by a few lectures presenting the necessary information. The lectures present both application areas as well as technical details needed for the actual implementation work.

Materials, links, and lecture times are made available via the course Moodle.

Performance Engineering (PEng) – Practical Course

Starting winter term 2022/23.

Systemnahe und parallele Programmierung (SPP)

In winter term 2021/22 and 2022/23, we offer the lecture “System and Parallel Programming” SPP.

Heterogeneous Parallel Programming (HeteroProg) – Seminar

Objectives

  • Architecture and organization of heterogeneous platforms
  • Execution models for heterogeneous platforms
  • Programming frameworks for heterogeneous platforms

Parallel Programming (PPROG) – Lecture

Objectives

The course aims to teach students fundamental and advanced concepts of parallel computing. Topics include memory systems, different paradigms of programming parallel computers (OpenMP, MPI, CUDA/OpenCL) and scalability and efficiency of parallel algorithms and systems.

Course Content

  • Foundations of parallel programming
  • Parallel architectures, i.e. multi- and many-core computers with shared and distributed memory
  • Message-Passing Interface (MPI), OpenMP, OpenCL programming standards
  • Building blocks of parallel computations
  • Criteria for the design of parallel algorithms

Schedule

Summer term 2022

  • Automated Code Generation (Seminar) Moodle / Tucan
  • Performance Engineering (Seminar) Moodle / Tucan
  • Advanced Seminar (Oberseminar) Tucan

Winter term 2021/22

  • System and Parallel Programming (Lecture) Moodle
  • Compiler Tooling (Practical course) Moodle

Summer term 2021

  • Automated Code Generation (Seminar)
  • Performance Engineering (Seminar)

Summer term 2020

  • Automated Code Generation (Seminar)
  • Performance Engineering (Seminar)

Winter term 2019/20

  • Compiler Tooling (Practical course)
  • System and Parallel Programming (Lecture)

Summer term 2019

  • Automated Code Generation (Seminar)
  • Performance Engineering (Seminar)

Winter term 2018/19

  • Compiler Tooling (Practical course)

Winter term 2017/18

  • Compiler Tooling (Practical course)

Summer term 2017

  • Automated Code Generation (Seminar)
  • Heterogeneous Parallel Programming (Seminar)

Winter term 2016/17

Because of Prof. Dr. C. Bischof's sabbatical there are no seminars or lectures offered from the institute for Scientific Computing in this semester.

Summer term 2016

  • Automated Code Generation (Seminar)
  • Heterogeneous Parallel Programming (Seminar)

Winter term 2015/16

  • Programming parallel computers (Lecture)

Winter term 2014/15

  • Foundations of Computer Science 3 (Lecture)
  • Programming parallel computers (Lecture)

Summer term 2014

  • Automatic Code Generation and Programming (Practical course)

Winter term 2013/14

  • Programming parallel computers (Lecture)

Summer term 2013

  • Automatic Code Generation and Programming (Practical course)

Winter term 2012/13

  • Programming parallel computers (Lecture)

Summer term 2012

  • Semantic Transformations (Lecture): A series of four lectures is presented by Prof. Robert van de Geijn of the University of Texas at Austin as part of our lecture. More
  • Semantic Transformations (Seminar)

Winter term2011/12

  • Programming parallel computers (Lecture)