Download Intel® Trace Collector Reference Guide

Transcript
Intel® Trace Collector Reference Guide
Contents
1 Introduction
1.1 What is the Intel Trace Collector? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 System Requirements and Supported Features . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4
About this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Installation
4
4
4
5
5
7
3 How to Use Intel Trace Collector
3.1 Tracing MPI Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Tracing shmem Programs with ITC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
9
13
3.3
3.4
3.5
3.6
3.7
3.8
Single-process Tracing . . . . . . . . . . . . . .
Compiler-driven Subroutine Instrumentation . .
Tracing of Binaries and Binary Instrumentation
Multithreaded Tracing . . . . . . . . . . . . . . .
Recording Statistical Information . . . . . . . .
Recording Source Location Information . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
16
16
17
21
22
23
3.9
3.10
3.11
3.12
3.13
Recording Hardware Performance
Recording OS Counters . . . . . .
Using the Dummy Libraries . . .
Using the Shared Libraries . . . .
Tracing Library Calls . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
24
25
25
26
26
4 Correctness Checking
4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Error Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
30
30
34
5 Time Stamping
43
5.1
5.2
Information
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
.
.
.
.
.
Clock Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Choosing a Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
44
6 Tracing of Distributed Applications
6.1 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Using VTserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
52
52
6.3
6.4
6.5
6.6
6.7
6.8
Running without VTserver
Spawning Processes . . . .
Tracing Events . . . . . . .
Usage . . . . . . . . . . . .
Signals . . . . . . . . . . .
Examples . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
53
53
54
54
54
54
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
55
55
55
56
56
8 User-level Instrumentation
8.1 The ITC API . . . . . . . . . . . . . . . . . . .
8.2 Initialization, Termination and Control . . . .
8.3 Defining and Recording Source Locations . .
8.4 Defining and Recording Functions or Regions
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
61
61
62
66
68
Defining and Recording Overlapping Scopes . . . . . . . . . . . . . . . . . . . . . . . . . .
72
7 Structured Tracefile Format
7.1 Introduction . . . . . . .
7.2 STF Components . . . .
7.3 Single-File STF . . . . . .
7.4 Configuring STF . . . . .
8.5
.
.
.
.
Document number: 318119-002 1