Modellbildung und Simulation 16/17

Mathematical Modeling and Simulation

(student project, focus: Hardware-oriented Numerics)

Course duration

Bachelor: Two semesters.

Course audience

Undergraduate (Bachelor). Course track: Technomathematik, Mathematik, others (possible).


In these student projects, we introduce the concept of 'Hardware-oriented Numerics', where hardware-efficiency, numerical efficiency and energy-efficiency are addressed simultaneously in the development of numerical simulation software. Here, students learn to run a full software (and even sometimes hardware) development cycle. In the course of the project we will provide you insight into cutting-edge programming and hardware technologies centered around modern parallel and heterogeneous compute ressources. In the core learning phase we will teach you

  • Parallel hardware architectures (x86, GPGPUs, Power, ARM-based SoCs)
  • SIMD parallelism and vectorization of numerical software components
  • multicore and shared memory parallelism and OpenMP / pThreads / c++11 threads
  • GPU acceleration of numerical software, especially programming with CUDA (as well as cuSparse, cuSolver, cuBLAS)
  • distributed memory parallelism including programing approach (MPI), as well as mathematical methods (such as Domain Decomposition)
  • performance engineering techniques on the node and cluster levels


You should have good programming skills in C/C++. The faculty programming course will offer this. Other equivalent courses maybe good as well. Numerics I (and maybe II) would be good.

Current iteration

GPGPU-accelerated simulation of Shallow-Water Flows

Course date and location (Summer 2016, winter 2016/2017)

  • Date: Fixed weekly project meeting
  • Place: Project rooms, PAV10
  • Lecturer(s): Markus Geveler
  • Organizers / Advisors: Markus Geveler, Stefan Turek