Presentation is loading. Please wait.

Presentation is loading. Please wait.

Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998.

Similar presentations


Presentation on theme: "Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998."— Presentation transcript:

1 Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998

2 Overview Tool-assisted performance analysis and tuning Post-mortem analysis of trace files –AIMS –MPE logging and nupshot –Pablo –VAMPIR Run-time analysis using dynamic instrumentation –Paradyn

3 Schedule - Tuesday, Jan. 27 9:00-10:00 –Trace file generation, MPI profiling interface, trace file formats, analysis techniques 10:00-12:00 –Overview of AIMS, nupshot, VAMPIR, SvPablo 12:00-1:30 –Lunch 1:30-5:00 –Introductory hands-on exercises using trace file generation and analysis tools

4 Schedule - Wed., Jan. 28 9:00-10:15 –Pablo TraceLibrary and Analysis GUI 10:30-11:30 –Dynamic instrumentation and Paradyn 11:30-1:00 –Lunch 1:00-2:00 –Hands-on exercise using Paradyn 2:00-5:00 –Bring Your Own Code hands-on exercise

5 Tool-assisted Performance Analysis Develop performance model Instrument source code (optional or automatic) Link with instrumentation library Generate tracefile during program execution Analyze trace file Compare model predictions with measurements Tune code and/or revise model

6 Source Code Instrumentation MPI profiling interface (MPE logging, Pablo MPI trace library, VAMPIRtrace) Automatic parsing and insertion of calls to tracing routines (AIMS, SvPablo) By hand insertion of calls to tracing routines (MPE logging, Pablo basic and I/O trace library, VAMPIRtrace)

7 MPI Profiling Interface Conforming implementation of MPI must –Provide a mechanism through which all the MPI functions may be accessed with a name shift (All MPI functions which normally start with MPI_ should also be accessible with the prefix PMPI_) –Provide a no-op routine MPI_PCONTROL

8 MPI Profiling Interface (cont) Goal - enable authors of profiling (and other) tools to interface to MPI implementations without access to the underlying implementation Enables interception of all MPI calls made by the user program

9 Example Profiling Routine static int totalBytes; static double totalTime; int MPI_Send(void *buffer, const int count, MPI_Datatype datatype, int dest, int tag, MPI_comm comm) { double tstart = MPI_Wtime(); int extent; int result = PMPI_Send(buffer,count,datatype,dest, tag,comm); MPI_Type_size(datatype,&extent); /* Compute size */ totalBytes += count * extent; totalTime += MPI_Wtime() - tstart; return result; }

10 Control of Profiling MPI_PCONTROL() allows user to –enable and disable profiling during execution –flush trace buffers at non-critical points –add user events to a trace file Default state after MPI_INIT has been called is for profiling to be enabled at normal default level

11 Trace File Formats Self-Defining Data Format (SDDF) - Pablo Alog - MPE logging VAMPIR AIMS IBM VT format PICL

12 Parallel Tools Library (PTLIB) http://www.nhse.org/ptlib/ Access to and information about parallel tools Communication libraries, compilers, debuggers, performance tools Initial focus on parallel performance tools Parallel Tools Digest Discussion forums

13 PTLIB Evaluation of Performance Tools for MPI Tracefile generation and analysis tools –AIMS –MPE logging and nupshot –Pablo –VAMPIR Automated runtime analysis tool –Paradyn

14 PTLIB Evaluation Criteria Robustness Usability Scalability Portability Versatility

15 PTLIB Evaluation Platforms UNIX workstations IBM SP Cray T3E SGI Power Challenge Array SGI Origin 2000

16 Parallel Performance Tool Capabilities

17 SDDF Example (cont.) “Seek” { [2] { 201803857, 0 }, 20.1803857, 70013, 0, 0.0031946, 3, 0, 0, 0 };;


Download ppt "Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998."

Similar presentations


Ads by Google