Hochschule Darmstadt - Fb Informatik

Drucken| Layout| Design| Schriftgröße English|
Module:High Performance Computing
Module numbers:41.5078 [PVL 41.5079; Module 41.50780]
Study programme:Dualer Master 2021 - Katalog AS: Anwendungs- und systemorientierte Module
Master 2021 - Katalog AS: Anwendungs- und systemorientierte Module
Dualer Master 2013 - Katalog AS: Anwendungs- und systemorientierte Module
Master 2013 - Katalog AS: Anwendungs- und systemorientierte Module
MN Data Science 2016 - Katalog DS-I: Data Science - Informatik
Type of course:V+P = Lecture+Practical
Weekly hours:2+2
Credit Points:6
Exam:written exam
Registering for examexplicitly and independent of booking
PVL (e.g. Practical):graded
PVL percentage:33%
Frequency of offering:each winter semester (lastly in WS 2021/2022)
Required knowledge:Programming experience (e.g. C, C++, Python, Go, Rust, etc.).
Learning objectives:Students are able to first plan, then build and then analyze the performance of High Performance Computing (HPC) systems. More precisely, they are able to:
  • analyze problems and algorithms to discover inherent parallelism,
  • find the appropriate granularity for a given problem, i.e. choose between fine-grained and coarser grained implementations,
  • use shared memory (multithreaded), message passing and hybrid approaches,
  • use, and choose between, currently available tools (programming languages, libraries, etc.),
  • apply best practice design patterns and methods,
  • measure and analyze the performance and scalability of HPC implementations.
  • Performance - Where it is needed, why it is needed, how to measure and analyze it.
  • Models of parallel computation
  • theoretical models such as PRAM and Dataflow Graphs
  • architectural models e.g. SIMD, MIMD, SPMD
  • Methods and patterns for parallel system design
  • The shared memory paradigm, both explicitly with multi-threaded programming and with compiler assistance via OpenMP.
  • The message passing paradigm with MPI and/or modern MOM approaches (e.g. ZeroMQ).
  • Heterogeneous Hardware approaches, particularly with GPUs (Graphics Processing Units), using various techniques, e.g. OpenCL or OpenACC.
Literature:Main Text
  • T. G. Mattson, B. A. Sanders & B. L. Massingill, Patterns for Parallel Programming, Addison-Wesley (Pearson Education), 2005.
Also helpful:
  • Clay Breshears, The Art of Concurrency, O Reilly Media Inc, 2009.
  • Ian Foster, Designing and Building Parallel Programs, Addison-Wesley Publishing, 1995. Cf. http://www​.mcs.anl.g​ov/~itf/db​pp/​
  • Brendan Gregg, Systems Performance: Enterprise and the Cloud, 2nd Edition, Pearson, 2020.
Responsibility:Ronald Moore
Released:SS 2021
Professional competencies:
  • formal, algorithmic, mathematical competencies: medium
  • analytical, design and implementation competencies: high
  • technological competencies: high
  • capability for scientific work: medium
Interdisciplinary competencies:
  • project related competencies: low
  • interdisciplinary expertise: basic technical and natural scientific competence
  • social and self-competencies: ability to work in a team, analytical competence, deciding competence, competence of knowledge acquisition, presentational, documentary, teaching and mentoring competence, fluency

[Fachbereich Informatik] [Hochschule Darmstadt]
© 2008 - 2022 FBI OBS Team. Alle Rechte vorbehalten.