User Tools

Site Tools


skill-tree:pe:b

PE-B Performance Engineering

Background

In High-Performance Computing, the performant and efficient execution is important to obtain results in a timely fashion but also to reduce the costs involved when running workflows on expensive supercomputers. Performance engineering is the field of systematic approaches for measuring and analyzing the performance of systems and applications, that modifies compile and runtime settings to increase performance (tuning), and that optimizes applications and systems.

Aim

  • To understand the performance of applications and systems.
  • To enable practitioners to optimize runtime settings and applications.
  • To raise user awareness for efficient utilization of the HPC resources.

Outcomes

  • Describe the optimization cycle.
  • Apply a cost model to compute the costs for running a workflow on an HPC system.
  • List typical pitfalls when measuring performance.
  • Execute benchmarks to obtain performance baselines for systems and applications.
  • Comprehend profiling in order to assess the runtime behavior of parallel programs and to detect bottlenecks.
  • Comprehend tunable settings in applications and system that influence performance.
  • Comprehend how to use optimized libraries to speed up program execution.

Subskills

skill-tree/pe/b.txt · Last modified: 2020/07/19 19:47 by lucy