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

Slides:



Advertisements
Similar presentations
K T A U Kernel Tuning and Analysis Utilities Department of Computer and Information Science Performance Research Laboratory University of Oregon.
Advertisements

MPI Message Passing Interface
NewsFlash!! Earth Simulator no longer #1. In slightly less earthshaking news… Homework #1 due date postponed to 10/11.
Automated Instrumentation and Monitoring System (AIMS)
Sameer Shende Department of Computer and Information Science Neuro Informatics Center University of Oregon Tool Interoperability.
5/30/00CSE 225 Performance Analysis Tools Nadya Williams Spring, 2000 UCSD.
Tools for Engineering Analysis of High Performance Parallel Programs David Culler, Frederick Wong, Alan Mainwaring Computer Science Division U.C.Berkeley.
Message-Passing Programming and MPI CS 524 – High-Performance Computing.
The TAU Performance Technology for Complex Parallel Systems (Performance Analysis Bring Your Own Code Workshop, NRL Washington D.C.) Sameer Shende, Allen.
1 Dr. Frederica Darema Senior Science and Technology Advisor NSF Future Parallel Computing Systems – what to remember from the past RAMP Workshop FCRC.
1 Tuesday, October 10, 2006 To err is human, and to blame it on a computer is even more so. -Robert Orben.
Today Objectives Chapter 6 of Quinn Creating 2-D arrays Thinking about “grain size” Introducing point-to-point communications Reading and printing 2-D.
Instrumentation and Measurement CSci 599 Class Presentation Shreyans Mehta.
UPC/SHMEM PAT High-level Design v.1.1 Hung-Hsun Su UPC Group, HCS lab 6/21/2005.
Paradyn Week – April 14, 2004 – Madison, WI DPOMP: A DPCL Based Infrastructure for Performance Monitoring of OpenMP Applications Bernd Mohr Forschungszentrum.
LLNL-PRES-XXXXXX This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344.
CCS APPS CODE COVERAGE. CCS APPS Code Coverage Definition: –The amount of code within a program that is exercised Uses: –Important for discovering code.
TRACEREP: GATEWAY FOR SHARING AND COLLECTING TRACES IN HPC SYSTEMS Iván Pérez Enrique Vallejo José Luis Bosque University of Cantabria TraceRep IWSG'15.
Adventures in Mastering the Use of Performance Evaluation Tools Manuel Ríos Morales ICOM 5995 December 4, 2002.
Support for Debugging Automatically Parallelized Programs Robert Hood Gabriele Jost CSC/MRJ Technology Solutions NASA.
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER 1 Porting from the Cray T3E to the IBM SP Jonathan Carter NERSC User Services.
The Vampir Performance Analysis Tool Hans–Christian Hoppe Gesellschaft für Parallele Anwendungen und Systeme mbH Pallas GmbH Hermülheimer Straße 10 D
VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization.
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
Parallel Programming with MPI Prof. Sivarama Dandamudi School of Computer Science Carleton University.
SvPablo Evaluation Report Hans Sherburne, Adam Leko UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red:
Replay Compilation: Improving Debuggability of a Just-in Time Complier Presenter: Jun Tao.
Performance Analysis Tool List Hans Sherburne Adam Leko HCS Research Laboratory University of Florida.
Blaise Barney, LLNL ASC Tri-Lab Code Development Tools Workshop Thursday, July 29, 2010 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
CS 838: Pervasive Parallelism Introduction to MPI Copyright 2005 Mark D. Hill University of Wisconsin-Madison Slides are derived from an online tutorial.
Message Passing Programming Model AMANO, Hideharu Textbook pp. 140-147.
Project 4 : SciDAC All Hands Meeting, September 11-13, 2002 A. Choudhary, W. LiaoW. Gropp, R. Ross, R. Thakur Northwestern UniversityArgonne National Lab.
Profiling, Tracing, Debugging and Monitoring Frameworks Sathish Vadhiyar Courtesy: Dr. Shirley Moore (University of Tennessee)
Distributed-Memory (Message-Passing) Paradigm FDI 2004 Track M Day 2 – Morning Session #1 C. J. Ribbens.
ASC Tri-Lab Code Development Tools Workshop Thursday, July 29, 2010 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA This work.
Debugging parallel programs. Breakpoint debugging Probably the most widely familiar method of debugging programs is breakpoint debugging. In this method,
© 2002 Barton P. MillerMarch 4, 2001Tool Dæmon Protocol The Tool Dæmon Protocol: Using Monitoring Tools on Remote Applications Barton P. Miller
Preparatory Research on Performance Tools for HPC HCS Research Laboratory University of Florida November 21, 2003.
Comparative Study of Parallel Performance Visualization Tools By J. Ramphis Castro December 4, 2002.
1 MPI_Connect and Parallel I/O for Distributed Applications Dr Graham E Fagg Innovative Computing Laboratory University of Tennessee Knoxville, TN
SvPablo. Source view Pablo GUI for instrumenting source code and viewing runtime performance data Joint work at Univ. of Illinois and Rice Univ. HPF programs.
Summertime Fun Everyone loves performance Shirley Browne, George Ho, Jeff Horner, Kevin London, Philip Mucci, John Thurman.
Allen D. Malony Department of Computer and Information Science TAU Performance Research Laboratory University of Oregon Discussion:
Department of Computer Engineering PROPANE An Environment for Examining the Propagation of Errors in Software Martin Hiller, Arshad Jhumka, Neeraj Suri.
Tool Visualizations, Metrics, and Profiled Entities Overview [Brief Version] Adam Leko HCS Research Laboratory University of Florida.
Connections to Other Packages The Cactus Team Albert Einstein Institute
So, You Need to Look at a New Application … Scenarios:  New application development  Analyze/Optimize external application  Suspected bottlenecks First.
Sending large message counts (The MPI_Count issue)
An Introduction to MPI (message passing interface)
1 Using PMPI routines l PMPI allows selective replacement of MPI routines at link time (no need to recompile) l Some libraries already make use of PMPI.
21 Sep UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant.
Typed MPI - A Data Type Tool for MPI Nitin Bahadur and Florentina Irina Popovici { bnitin, pif
Source Level Debugging of Parallel Programs Roland Wismüller LRR-TUM, TU München Germany.
3/12/2013Computer Engg, IIT(BHU)1 MPI-1. MESSAGE PASSING INTERFACE A message passing library specification Extended message-passing model Not a language.
Projections - A Step by Step Tutorial By Chee Wai Lee For the 2004 Charm++ Workshop.
CEPBA-Tools experiences with MRNet and Dyninst Judit Gimenez, German Llort, Harald Servat
October 18, 2001 LACSI Symposium, Santa Fe, NM1 Towards Scalable Cross-Platform Application Performance Analysis -- Tool Goals and Progress Shirley Moore.
OSSIM Technology Overview Mark Lucas. “Awesome” Open Source Software Image Map (OSSIM)
Message Passing Interface Using resources from
1 Advanced MPI William D. Gropp Rusty Lusk and Rajeev Thakur Mathematics and Computer Science Division Argonne National Laboratory.
MPI-Message Passing Interface. What is MPI?  MPI is a specification for the developers and users of message passing libraries. By itself, it is NOT a.
Parallel OpenFOAM CFD Performance Studies Student: Adi Farshteindiker Advisors: Dr. Guy Tel-Zur,Prof. Shlomi Dolev The Department of Computer Science Faculty.
MPE Logging/nupshot. Included with MPICH 1.1 distribution Distributed separately from rest of MPICH from PTLIB MPE logging library produces trace files.
Introduction to parallel computing concepts and technics
Tracing and Performance Analysis Tools for Heterogeneous Multicore System by Soon Thean Siew.
Introduction to MPI.
Performance Analysis, Tools and Optimization
Parallel Programming with MPI and OpenMP
A configurable binary instrumenter
Parallel Program Analysis Framework for the DOE ACTS Toolkit
Presentation transcript:

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

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

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

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

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

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)

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

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

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; }

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

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

Parallel Tools Library (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

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

PTLIB Evaluation Criteria Robustness Usability Scalability Portability Versatility

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

Parallel Performance Tool Capabilities

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