A fundamental part of developing software is to understand what the application spends time on. This is typically determined using a performance profiler which essentially captures how execution time is distributed across the instructions of a program. At the same time, the highly parallel execution model of modern high-performance processors means that it is difficult to reliably attribute time to instructions — resulting in performance analysis being unnecessarily challenging.In this work, we first propose the Oracle profiler which is a golden reference for performance profilers. Oracle is golden because (i) it accounts every clock cycle and every dynamic instruction, and (ii) it is time-proportional, i.e., it attributes a clock cycle to ...
Standard benchmarking provides the run times for given programs on given machines, but fails to prov...
In this article we present a building block technique and a toolkit towards automatic discovery of w...
Computers perform different applications in different ways. To characterize an application performan...
A fundamental part of developing software is to understand what the application spends time on. This...
ABSTRACT: Debugging and profiling tools can alter the execution flow or timing, can induce heisenbug...
A program profile attributes run-time costs to portions of a program's execution. Most profiling sys...
Improvements in performance and energy efficiency often require deep understanding of the complex in...
Profile-based optimizations can be used for instruction scheduling, loop scheduling, data preloading...
Dynamic instruction mixes form an important part of the toolkits of performance tuners, compiler wri...
This paper describes the DIGITAL Continuous Profiling Infrastructure, a sampling-based profiling sys...
Detailed modeling of the performance of commercial applications is difficult. The applications can t...
Abstract Profile-based optimizations can be used for instruction scheduling, loop scheduling, data p...
ABSTRACT: Tracing allows the analysis of task interactions with each other and with the operating sy...
The many configuration options of modern applications make it difficult for users to select a perfor...
To reduce latency and increase bandwidth to memory, modern microprocessors are often designed with d...
Standard benchmarking provides the run times for given programs on given machines, but fails to prov...
In this article we present a building block technique and a toolkit towards automatic discovery of w...
Computers perform different applications in different ways. To characterize an application performan...
A fundamental part of developing software is to understand what the application spends time on. This...
ABSTRACT: Debugging and profiling tools can alter the execution flow or timing, can induce heisenbug...
A program profile attributes run-time costs to portions of a program's execution. Most profiling sys...
Improvements in performance and energy efficiency often require deep understanding of the complex in...
Profile-based optimizations can be used for instruction scheduling, loop scheduling, data preloading...
Dynamic instruction mixes form an important part of the toolkits of performance tuners, compiler wri...
This paper describes the DIGITAL Continuous Profiling Infrastructure, a sampling-based profiling sys...
Detailed modeling of the performance of commercial applications is difficult. The applications can t...
Abstract Profile-based optimizations can be used for instruction scheduling, loop scheduling, data p...
ABSTRACT: Tracing allows the analysis of task interactions with each other and with the operating sy...
The many configuration options of modern applications make it difficult for users to select a perfor...
To reduce latency and increase bandwidth to memory, modern microprocessors are often designed with d...
Standard benchmarking provides the run times for given programs on given machines, but fails to prov...
In this article we present a building block technique and a toolkit towards automatic discovery of w...
Computers perform different applications in different ways. To characterize an application performan...