SEPFPLDec 1, 2017

An LLVM Instrumentation Plug-in for Score-P

arXiv:1712.01718v16 citations
Originality Synthesis-oriented
AI Analysis

This is an incremental improvement for developers optimizing parallel applications, enabling more precise performance measurements with lower overhead.

The paper tackles the need for efficient performance monitoring in software development by introducing an LLVM plug-in that allows selective function-level instrumentation, reducing runtime overhead compared to existing methods.

Reducing application runtime, scaling parallel applications to higher numbers of processes/threads, and porting applications to new hardware architectures are tasks necessary in the software development process. Therefore, developers have to investigate and understand application runtime behavior. Tools such as monitoring infrastructures that capture performance relevant data during application execution assist in this task. The measured data forms the basis for identifying bottlenecks and optimizing the code. Monitoring infrastructures need mechanisms to record application activities in order to conduct measurements. Automatic instrumentation of the source code is the preferred method in most application scenarios. We introduce a plug-in for the LLVM infrastructure that enables automatic source code instrumentation at compile-time. In contrast to available instrumentation mechanisms in LLVM/Clang, our plug-in can selectively include/exclude individual application functions. This enables developers to fine-tune the measurement to the required level of detail while avoiding large runtime overheads due to excessive instrumentation.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes