Overview of CrayPat and Apprentice 2 Adam Leko UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red: Negative.

Slides:



Advertisements
Similar presentations
Professional Toolkit V2.0 C:\Presentations - SmartCafe_Prof_V2.0 - bsc page 1 Professional Toolkit 2.0.
Advertisements

Profiling your application with Intel VTune at NERSC
Intel® performance analyze tools Nikita Panov Idrisov Renat.
Automated Instrumentation and Monitoring System (AIMS)
Programming Types of Testing.
Chapter 6 Photoshop and ImageReady: Part II The Web Warrior Guide to Web Design Technologies.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
MCTS GUIDE TO MICROSOFT WINDOWS 7 Chapter 10 Performance Tuning.
COSC 120 Computer Programming
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 11: Monitoring Server Performance.
Chapter 11 - Monitoring Server Performance1 Ch. 11 – Monitoring Server Performance MIS 431 – created Spring 2006.
Program Flow Charting How to tackle the beginning stage a program design.
SUNY Morrisville-Norwich Campus-Week 12 CITA 130 Advanced Computer Applications II Spring 2005 Prof. Tom Smith.
1 Introduction to OBIEE: Learning to Access, Navigate, and Find Data in the SWIFT Data Warehouse Lesson 8: Printing and Exporting an OBIEE Analysis This.
1 Chapter 20 — Creating Web Projects Microsoft Visual Basic.NET, Introduction to Programming.
XP New Perspectives on Microsoft Access 2002 Tutorial 71 Microsoft Access 2002 Tutorial 7 – Integrating Access With the Web and With Other Programs.
Overview of Eclipse Parallel Tools Platform Adam Leko UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red:
GASP: A Performance Tool Interface for Global Address Space Languages & Libraries Adam Leko 1, Dan Bonachea 2, Hung-Hsun Su 1, Bryan Golden 1, Hans Sherburne.
Tool Visualizations, Metrics, and Profiled Entities Overview Adam Leko HCS Research Laboratory University of Florida.
MCTS Guide to Microsoft Windows 7
Fortran 1- Basics Chapters 1-2 in your Fortran book.
UPC/SHMEM PAT High-level Design v.1.1 Hung-Hsun Su UPC Group, HCS lab 6/21/2005.
MpiP Evaluation Report Hans Sherburne, Adam Leko UPC Group HCS Research Laboratory University of Florida.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Lecture 8. Profiling - for Performance Analysis - Prof. Taeweon Suh Computer Science Education Korea University COM503 Parallel Computer Architecture &
StAR web server tutorial for ROC Analysis. ROC Analysis ROC Analysis: This module allows the user to input data for several classifiers to be tested.
IPC144 Introduction to Programming Using C Week 1 – Lesson 2
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Scalable Analysis of Distributed Workflow Traces Daniel K. Gunter and Brian Tierney Distributed Systems Department Lawrence Berkeley National Laboratory.
11 July 2005 Tool Evaluation Scoring Criteria Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant Mr. Adam Leko,
VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization.
The WinMine Toolkit Max Chickering. Build Statistical Models From Data Dependency Networks Bayesian Networks Local Distributions –Trees Multinomial /
MPICL/ParaGraph Evaluation Report Adam Leko, Hans Sherburne UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information.
CS 584. Performance Analysis Remember: In measuring, we change what we are measuring. 3 Basic Steps Data Collection Data Transformation Data Visualization.
SvPablo Evaluation Report Hans Sherburne, Adam Leko UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red:
Martin Schulz Center for Applied Scientific Computing Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
An Introduction to Office  Office XP and Office 2007 look very different  This introduction should: ◦ Introduce you to some of the basic changes.
Embedded Software SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging.
Performance Analysis Tool List Hans Sherburne Adam Leko HCS Research Laboratory University of Florida.
Profiling, Tracing, Debugging and Monitoring Frameworks Sathish Vadhiyar Courtesy: Dr. Shirley Moore (University of Tennessee)
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Belgrade, 25 September 2014 George S. Markomanolis, Oriol Jorba, Kim Serradell Performance analysis Tools: a case study of NMMB on Marenostrum.
Dynaprof Evaluation Report Adam Leko, Hans Sherburne UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red:
Debugging parallel programs. Breakpoint debugging Probably the most widely familiar method of debugging programs is breakpoint debugging. In this method,
UPC Performance Tool Interface Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant Mr. Adam Leko, Sr. Research Assistant.
HPCToolkit Evaluation Report Hans Sherburne, Adam Leko UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red:
Tool Visualizations, Metrics, and Profiled Entities Overview [Brief Version] Adam Leko HCS Research Laboratory University of Florida.
Dynaprof Evaluation Report Adam Leko, Hans Sherburne UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red:
Overview of dtrace Adam Leko UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red: Negative note Green: Positive.
Comparison of different output options from Stata
Overview of AIMS Hans Sherburne UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red: Negative note Green:
Agenda Computer Languages How to Write a Simple C Program
Test Automation For Web-Based Applications Portnov Computer School Presenter: Ellie Skobel.
Test Automation For Web-Based Applications Portnov Computer School 1 Selenium HP Web Test Tool Training.
Testing plan outline Adam Leko Hans Sherburne HCS Research Laboratory University of Florida.
Other Tools HPC Code Development Tools July 29, 2010 Sue Kelly Sandia is a multiprogram laboratory operated by Sandia Corporation, a.
Introduction to HPC Debugging with Allinea DDT Nick Forrington
Chapter 1: Introduction to Computers and Programming.
Profiling/Tracing Method and Tool Evaluation Strategy Summary Slides Hung-Hsun Su UPC Group, HCS lab 1/25/2005.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Parallel Performance Wizard: A Generalized Performance Analysis Tool Hung-Hsun Su, Max Billingsley III, Seth Koehler, John Curreri, Alan D. George PPW.
Beyond Application Profiling to System Aware Analysis Elena Laskavaia, QNX Bill Graham, QNX.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
Navigating TAU Visual Display ParaProf and TAU Portal Mahin Mahmoodi Pittsburgh Supercomputing Center 2010.
MCTS Guide to Microsoft Windows 7
Advanced TAU Commander
A configurable binary instrumenter
GNU DEBUGGER TOOL. What is the GDB ? GNU Debugger It Works for several languages – including C/C++ [Assembly, Fortran,Go,Objective-C,Pascal]
Tutorial 7 – Integrating Access With the Web and With Other Programs
Neonatal Workload Tool standard BOXI reports
Presentation transcript:

Overview of CrayPat and Apprentice 2 Adam Leko UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red: Negative note Green: Positive note

2 Basic Information Name: CrayPat, Apprentice 2 Developer: Cray Current Version:  CrayPat v  Apprentice 2 v2.0  (not available separately) Languages: Fortran, C, C++ Website: Documentation available at  Contact:  Luiz DeRose

3 CrayPat and Apprentice 2 Overview CrayPat  Cray’s toolkit for instrumenting executables and producing data from runs  Uses static binary instrumentation  Supports tracing, profiling, and sampling  Outputs data in binary format which can be converted to XML format (for Apprentice 2) Text format (report that contains statistical information) Apprentice 2  Visualization tool for CrayPat data files  Can read in.xml or.xml.gz files (gzipped XML reports converted from binary output of CrayPat)  Several visualizations available

4 CrayPat Overview Command-line based performance optimization tools In CrayPat, you perform experiments on instrumented executables  Several types of experiments available Tracing: Record timestamps and arguments for all instrumented functions Sampling: Samples hardware counters or callstack at fixed intervals Profiling: Performs a specific sampling experiment where user + system time are sampled for all functions in a program  Type of experiment guided by setting environment variables However, can only perform tracing experiments on executables instrumented for tracing But, can perform sample-type experiments on executables instrumented for tracing General workflow  1. Compile application and run as normal  2. Instrument using pat_build  3. Run instrumented executable as normal; binary.xf log file will be produced  4. View report using pat_report  Can also use pat_run to combine steps 3 & 4, or pat_hwpc on uninstrumented exectuables to get hardware counter reports CrayPat supports many languages + extensions  C, C++, Fortran, UPC, MPI, CoArray Fortran, OpenMP, SHMEM

5 CrayPat Instrumentation Instrumentation is very simple! Build application as normal (not even debugging symbols needed), keeping the.o files  Eg: UPC: cc -hupc -hkeepfiles *.upc -o exe C/C++/MPI C: cc -hkeepfiles *.c -o exe Fortran: ftn -hkeepfiles *.f77 -o exe Can also use -c flag with compilers and link in separate stage as normal Use pat_build to build instrumented executable  For profiling or sampling: pat_build exe inst.exe  For tracing: UPC: pat_build -g upc exe inst.exe MPI: pat_build -g mpi exe inst.exe Several other things can be traced with -g flag (CoArray Fortran, heap calls, I/O system calls Passing the -u flag also traces all (non-inlined) user function calls Then run program as normal as shown earlier Use of binary instrumentation means low overhead and no interference with compiler optimizations  X1 and X1E are extremely dependent on compiler optimizations (loop vectorization especially), so this is an absolute necessity for CrayPat  In our informal tests, sampling instrumentation resulted in negligible overhead (< 2-3 %)  Also,.xf logfiles from runs seem very compact

6 Sample pat_report Output By default, pat_report lists profile-type information Can also produce a listing of events with -c records option, but not very useful  Although necessary for exporting traces to Apprentice 2 Lots of different summary information can be displayed using pat_report  Output very customizable  Can change text format, how stats are computed, which data is displayed, …  Like prof on steroids Table 1: -d time%,cum_time%,time,traces,P,E,M -b exp,pe,thread,ssp,function,ca Time% | Cum.Time% | Time | Traces |Experiment=1 |PE=0 |Thread=0 |SSP=0 |Function |Caller 100.0% | 100.0% | | 72 |Total | | 100.0% | 100.0% | | 1 |main | | | | | (N/A) | 0.0% | 100.0% | | 45 |timer_now$$CFE_id_hex2UINT || || 0.0% | 100.0% | | 21 | timer_elapsed$$CFE_id_hex2UINT || | | | | main || 0.0% | 100.0% | | 24 |main ||====================================================== | 0.0% | 100.0% | | 2 |ioctl | | | | | printf | | | | | main | 0.0% | 100.0% | | 21 |timer_elapsed$$CFE_id_hex2UINT | | | | | main | 0.0% | 100.0% | | 1 |extendDC | | | | | main | 0.0% | 100.0% | | 1 |_exit | | | | | sigtramp | | | | | main | 0.0% | 100.0% | | 1 |hex2UINT | | | | | main |=======================================================

7 Apprentice 2 Overview Visualization tool for XML files produced by CrayPat Supports visualization of  Callstack sampling experiments  MPI trace experiments Available visualizations  Overview piecharts that contain a breakdown of data by time and calls  Traffic (timeline/Gantt chart)  Text report (similar to what is available from CrayPat)  Mosaic (shows communication volume between processing elements)  Activity (shows % time spent in different MPI functions as a function of time)  Profile (show call tree with observed times) Several visualizations also have “calipers” at bottom of screen to restrict view to certain time periods

8 Apprentice 2 Problems Was never able to get Apprentice 2 to run properly Followed instructions provided by Cray [1], but was never able to get Apprentice to show a callstack profile or an MPI trace  All visualizations looked empty!  See right for examples Probably due to using a (beta) public-access Cray machine Rest of information garnered from [2]

9 Apprentice 2 Visualizations Call graph view  Shows summary of sampled call stacks  Similar to display of KCacheGrind  Inclusive/exclusive time annotated by height and width of functions

10 Apprentice 2 Visualizations (2) Overview display  Overview shows breakdown of execution time by each function in a pie chart  Clicking on each function brings up a tab showing breakdown per node  Clicking on “other” brings up text list of other functions Can also display pie chart of function times by node

11 Apprentice 2 Visualizations (3) Timeline view  Shows communication in Gantt chart view  Similar to other trace-based MPI visualization tools

12 Apprentice 2 Visualizations (4) Mosaic view  Shows pair-wise communication statistics  Can show different stats Max time Average time Min time

13 Apprentice 2 Visualizations (5) Activity view  Shows percentage of time spent in MPI calls as a function of time  Ex: Red = barrier Light green = broadcast Dark green = send

14 References [1]“Optimizing Applications on Cray X1 Series Systems,” #S , (available from docs.cray.com) [2]L. DeRose, “Performance Analysis and Visualization with Cray Apprentice 2,” SC 2004, Pittsburgh, PA, November 2004.