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