Martin Schulz Center for Applied Scientific Computing Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,

Slides:



Advertisements
Similar presentations
Matt Wolfe LC Development Environment Group Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA.
Advertisements

Tools for applications improvement George Bosilca.
The Path to Multi-core Tools Paul Petersen. Multi-coreToolsThePathTo 2 Outline Motivation Where are we now What is easy to do next What is missing.
Robert Bell, Allen D. Malony, Sameer Shende Department of Computer and Information Science Computational Science.
1 Aug 7, 2004 GPU Req GPU Requirements for Large Scale Scientific Applications “Begin with the end in mind…” Dr. Mark Seager Asst DH for Advanced Technology.
Instrumentation and Profiling David Kaeli Department of Electrical and Computer Engineering Northeastern University Boston, MA
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Chocolate Bar! luqili. Milestone 3 Speed 11% of final mark 7%: path quality and speed –Some cleverness required for full marks –Implement some A* techniques.
1 Parallel Performance Analysis with Open|SpeedShop Trilab Tools-Workshop Martin Schulz, LLNL/CASC LLNL-PRES
University of Kansas Electrical Engineering Computer Science Jerry James and Douglas Niehaus Information and Telecommunication Technology Center Electrical.
1 Babak Behzad, Yan Liu 1,2,4, Eric Shook 1,2, Michael P. Finn 5, David M. Mattli 5 and Shaowen Wang 1,2,3,4 Babak Behzad 1,3, Yan Liu 1,2,4, Eric Shook.
Blaise Barney, LLNL ASC Tri-Lab Code Development Tools Workshop Thursday, July 29, 2010 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
UPC/SHMEM PAT High-level Design v.1.1 Hung-Hsun Su UPC Group, HCS lab 6/21/2005.
1 Performance Analysis with Vampir DKRZ Tutorial – 7 August, Hamburg Matthias Weber, Frank Winkler, Andreas Knüpfer ZIH, Technische Universität.
MpiP Evaluation Report Hans Sherburne, Adam Leko UPC Group HCS Research Laboratory University of Florida.
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.
Information-Based Building Energy Management SEEDM Breakout Session #4.
Analyzing parallel programs with Pin Moshe Bach, Mark Charney, Robert Cohn, Elena Demikhovsky, Tevi Devor, Kim Hazelwood, Aamer Jaleel, Chi- Keung Luk,
SC’13: Hands-on Practical Hybrid Parallel Application Performance Engineering Introduction to VI-HPS Brian Wylie Jülich Supercomputing Centre.
Adventures in Mastering the Use of Performance Evaluation Tools Manuel Ríos Morales ICOM 5995 December 4, 2002.
PMaC Performance Modeling and Characterization Performance Modeling and Analysis with PEBIL Michael Laurenzano, Ananta Tiwari, Laura Carrington Performance.
Scalable Analysis of Distributed Workflow Traces Daniel K. Gunter and Brian Tierney Distributed Systems Department Lawrence Berkeley National Laboratory.
SC 2012 © LLNL / JSC 1 HPCToolkit / Rice University Performance Analysis through callpath sampling  Designed for low overhead  Hot path analysis  Recovery.
Debugging and Profiling GMAO Models with Allinea’s DDT/MAP Georgios Britzolakis April 30, 2015.
VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization.
Programming Models & Runtime Systems Breakout Report MICS PI Meeting, June 27, 2002.
BG/Q Performance Tools Scott Parker Mira Community Conference: March 5, 2012 Argonne Leadership Computing Facility.
John Mellor-Crummey Robert Fowler Nathan Tallent Gabriel Marin Department of Computer Science, Rice University Los Alamos Computer Science Institute HPCToolkit.
DDT Debugging Techniques Carlos Rosales Scaling to Petascale 2010 July 7, 2010.
Overview of CrayPat and Apprentice 2 Adam Leko UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red: Negative.
Blaise Barney, LLNL ASC Tri-Lab Code Development Tools Workshop Thursday, July 29, 2010 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
Profiling, Tracing, Debugging and Monitoring Frameworks Sathish Vadhiyar Courtesy: Dr. Shirley Moore (University of Tennessee)
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Matt Wolfe LC Development Environment Group Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA.
Lawrence Livermore National Laboratory Pianola: A script-based I/O benchmark Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA
Debugging and Profiling With some help from Software Carpentry resources.
® IBM Software Group © 2006 IBM Corporation PurifyPlus on Linux / Unix Vinay Kumar H S.
ASC Tri-Lab Code Development Tools Workshop Thursday, July 29, 2010 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA This work.
A New Parallel Debugger for Franklin: DDT Katie Antypas User Services Group NERSC User Group Meeting September 17, 2007.
Debugging parallel programs. Breakpoint debugging Probably the most widely familiar method of debugging programs is breakpoint debugging. In this method,
Martin Schulz Center for Applied Scientific Computing Lawrence Livermore National Laboratory ASC STAT Team: Greg Lee, Dong Ahn (LLNL), Dane Gardner (LANL)
Allen D. Malony Department of Computer and Information Science TAU Performance Research Laboratory University of Oregon Discussion:
Tool Visualizations, Metrics, and Profiled Entities Overview [Brief Version] Adam Leko HCS Research Laboratory University of Florida.
Understanding the Behavior of Java Programs Tarja Systa Software Systems Lab. Tampere Univ. Sookmyung Women’s Univ. PSLAB Choi, yoon jeong.
Lawrence Livermore National Laboratory S&T Principal Directorate - Computation Directorate Tools and Scalable Application Preparation Project Computation.
Overview of AIMS Hans Sherburne UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red: Negative note Green:
Lawrence Livermore National Laboratory LLNL-PRES- XXXXXX LLNL-PRES This work was performed under the auspices of the U.S. Department of Energy by.
21 Sep UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant.
GA 1 CASC Discovery of Access Patterns to Scientific Simulation Data Ghaleb Abdulla LLNL Center for Applied Scientific Computing.
Testing plan outline Adam Leko Hans Sherburne HCS Research Laboratory University of Florida.
PAPI on Blue Gene L Using network performance counters to layout tasks for improved performance.
Other Tools HPC Code Development Tools July 29, 2010 Sue Kelly Sandia is a multiprogram laboratory operated by Sandia Corporation, a.
Projections - A Step by Step Tutorial By Chee Wai Lee For the 2004 Charm++ Workshop.
Introduction to HPC Debugging with Allinea DDT Nick Forrington
Profiling/Tracing Method and Tool Evaluation Strategy Summary Slides Hung-Hsun Su UPC Group, HCS lab 1/25/2005.
Building PetaScale Applications and Tools on the TeraGrid Workshop December 11-12, 2007 Scott Lathrop and Sergiu Sanielevici.
Beyond Application Profiling to System Aware Analysis Elena Laskavaia, QNX Bill Graham, QNX.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
Kai Li, Allen D. Malony, Sameer Shende, Robert Bell
YAHMD - Yet Another Heap Memory Debugger
Debugging Memory Issues
Kilohertz Decision Making on Petabytes
NVIDIA Profiler’s Guide
Performance Analysis, Tools and Optimization
Performance Evaluation of Adaptive MPI
PerfView Measure and Improve Your App’s Performance for Free
Stack Trace Analysis for Large Scale Debugging using MRNet
Projections Overview Ronak Buch & Laxmikant (Sanjay) Kale
Presentation transcript:

Martin Schulz Center for Applied Scientific Computing Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA This work performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344 Introduction Scope, Tool Categories, Definitions LLNL-PRES

Lawrence Livermore National Laboratory Development Tools for HPC  Wide variety of tools exist Open source & commercial Cross platform & vendor specific Area of active research  The tool teams at all three labs support many tools Production support across all labs Experimental installs at individual sites/machines Research at the laboratories  Goals of this workshop Make users aware of what is available Provide basic usage instructions More in depth for selected few in the afternoon sessions Identify gaps / missing functionality

Lawrence Livermore National Laboratory Questions we will try to answer  Which tool can I use to... … debug my code? … find memory corruptions? … profile the performance of my code? … understand the communication behavior?  Where can I find the tools and how can I use them? Supported platforms Installation locations Basic user guides  Who can I contact for more help & information?

Lawrence Livermore National Laboratory Questions we would like answered  Which tools are you using? Active and regularly vs. occasionally vs. not at all? Do you have any problems with them?  Which concrete tools are you missing? Do you know of concrete tools that you would like? Are there tools on some platforms that you like, but are not available on platforms that you need?  What tool capabilities are you missing? What about your codes do you need to know?  Would you like extended training sessions for any tools? On-site tutorials? One-on-one sessions with tool developers?

Lawrence Livermore National Laboratory Categories of Program Development Tools  Debugging Tools What should I do if my program fails? What should I do if my program hangs?  Performance Analysis Tools Where is my code spending its time? Which communication operations take the most time? What is the message pattern of my code? Which call paths are most often taken?  Memory Analysis Tools Two separate categories  How can I detect silent memory corruptions?  How can I find out how much memory I am using?

Lawrence Livermore National Laboratory Debugging Options  Traditional debugging Interactive sessions  Ability to attach and control jobs  Set breakpoints, single stepping, inspect state BUT: inherent scalability problems  Should work up to 4096 processes  Likely to be infeasible after that  Debugging at scale Need a pre-selection of processes  Subset detection  Representatives of equivalence classes Application information or light-weight tools Subset attach features of traditional debuggers

Lawrence Livermore National Laboratory Performance Analysis Options  Tools to analyze, understand, and optimize performance Wide range of tools with varying level of detail Varying functionality: from display to automatic tuning  Typical workflow 1.Instrument code 2.Run and gather data 3.Analyze data (command line or GUI)  Instrumentation Options Transparent instrumentation (online or pre-loading) Binary or offline instrumentation Automatic source code instrumentation Manual source code instrumentation

Lawrence Livermore National Laboratory Profiling Techniques  Aggregate events over time Aggregate metrics (e.g., time spent in all MPI calls) Statistical sampling  When should I use it? Getting a first overview of performance Finding hot spots  Tradeoffs (+) Easy to use, low overhead, small result files (-) Little details, sometimes hard to correlate

Lawrence Livermore National Laboratory Tracing Techniques  Gather information about individual events Optional: combine with profile data Typically visualized as timeline graph  Examples Collect information on all MPI calls Find all calls to I/O routines  When should I use it? After profiling points to a particular segment Understand individual event interactions  Tradeoffs (+) Very detailed information, catch outliers (-) Higher overhead, potentially huge output files

Lawrence Livermore National Laboratory Memory Analysis Tools  Use case 1: Debugging Detect memory access problems  Stray writes / memory corruptions  Repeated free’s / stale pointers Options  Guard blocks, “Electric Fence”  Emulation / simulation of each memory access  Use case 2: Memory profiling How much memory am I using? Where does memory get allocated?

Lawrence Livermore National Laboratory List of Tools (in order)  Debuggers Totalview STAT  Performance Analysis TAU perflib Open|SpeedShop Vampir mpiP gprof CrayPAT CrayApprentice  Memory Analysis Totalview Valgrind memP  Other tools Scalasca Libra load balancer LOBA HPC Toolkit Paraver DDT Javelina ThreadSpotter

Lawrence Livermore National Laboratory List of Tools (by category)  Debuggers Full featured  Totalview, DDT Scalable pre-selection  STAT  Memory Analysis Corruption Detection  Valgrind (Emulation)  Totalview (Guard blocks) Memory usage  memP  Other categories Thread Spotter (threading) Javelina (code coverage)  Performance Analysis Profiling (transparent)  mpiP, gprof, HPCToolkit  Libra (load balance)  LOBA (MPI details) Tracing (code instr.)  Vampir, Paraver Profiling & Tracing  Open|SpeedShop, (transparent)  TAU (code or manual instrument.)  CrayPAT/Apprentice (code instr.)  HPC Toolkit (binary instrument.) Hybrid  Scalasca (Trace analysis) Manual Instrumentation  perflib