Forschungsinteressen
The goal of performance engineering is to make the execution speed of software
a predictable and controllable property by matching algorithm, implementation, and platform,
which also allows to trade performance against other desirable code properties.
The main subjects of performance engineering are:
Performance optimization
- techniques for high-level (C, C++, OpenCL, CUDA),
- intermediate (intrinsics),
- and low-level (assembly) language
Performance modeling, prediction, and measurement
- characterization of algorithms and platforms
- determining optimal target platforms
Design and architecture of common and exotic multi- and manycore processors
- CPUs (standard and exotic)
- GPGPUs
Code-compiler interplay
- identifying language features that are performance hazards (possibly platform-dependent)
- finding best coding practices
- performance-preserving software engineering