|
Title: Parallel Performance Evaluation Tools for HPC Systems Duration: Full day Description: Performance analysis concepts have manifested in robust software tools for HPC systems. Today, there are frameworks available that offer the collection, analysis and visualization of runtime profiles, detailed program behavior and other performance characterizations. Additionally, tools for automatic code generation, stepwise execution, debugging, verification, simulation, and similar purposes are available. Yet, amazingly, the "print" and "time" directives are still the most frequently used "tool" even 35 years after the emergence of the first HPC systems. This tutorial presents the state-of-the-art developments for leading-edge HPC, parallel and cluster systems, focusing on profile- and trace-based program visualization, automatic performance analysis, and programming environments that provide generic interfaces to the tools. The "what", "where", "when", and "why" questions regarding program execution and performance will form the center of the tutorial. Tool characteristics and features will be presented according to those questions. The overall goal is to show the real potential of modern tools for program analysis. In addition, we will show how these tools can be used to diagnose and locate typical performance bottlenecks in real-world parallel programs. To meet the needs of computational scientists to evaluate the performance of the parallel scientific applications, we present five parallel performance evaluation tools: PAPI, PerfSuite, TAU, Scalasca, and Vampir. The tutorial will focus on performance data collection, analysis, and performance optimization. PerfSuite allows the user to easily obtain high-level performance characteristics of an unmodified application either through aggregate hardware performance event count or through profiling using statistical sampling. The TAU (Tuning and Analysis Utilities) performance system uses instrumentation or direct insertion of calls to measure application performance. After describing and demonstrating how performance data (both profile and trace data) can be collected using TAU's automated instrumentation, we will cover how to analyze the performance data collected and drill down to find performance bottlenecks and determine their causes. Complementary to TAU, we will also present how performance data can be collected and analyzed using the Vampir and Scalasca toolsets. While Scalasca focuses on the automated analysis of trace data to find and determine the causes of communication inefficiencies such as excessive communication blocking, Vampir provides powerful statistics and means to visually explore event traces at very fine-grained detail for an in-depth study of performance anomalies. The tutorial will include some sample codes that illustrate the different instrumentation and measurement choices available to users. Topics will cover generating performance profiles and traces with hardware performance counters using PAPI. Hardware counter data can show not only which routines are taking the most time, but why. Presenters: Allen D. Malony, University of Oregon, malony@cs.uoregon.edu Markus Geimer, Jülich Supercomputing Centre, m.geimer@fz-juelich.de Andreas Knüpfer, Technical University Dresden, andreas.knuepfer@tu-dresden.de Rick Kufrin, NCSA/University of Illinois, rkufrin@illinois.edu Shirley Moore, University of Tennessee, shirley@eecs.utk.edu Allen D. Malony is a Professor, Department of Computer and Information Science, at the University of Oregon, where he leads research activities in parallel computing and performance analysis. Funded by the National Science Foundation (NSF) and Department of Energy (DOE), his group is best known as developers of the open source TAU performance system. Markus Geimer is a research scientist at the Jülich Supercomputing Centre, Germany. He is primarily working on the development of the open-source performance-analysis toolset Scalasca and heavily involved in Scalasca-related training activities. Andreas Knüpfer is a regular staff member of the Center for Information Services and High Performance Computing (ZIH) at TU Dresden, Germany. His research activities focus on performance measurement and analysis. He is involved in the development of the Vampir and VampirTrace tools as well as in user support and training. Furthermore, he was the leading developer for the Open Trace Format (OTF). Rick Kufrin is a senior member of the technical staff at the University of Illinois' National Center for Supercomputing Applications (NCSA). He has worked in a number of areas at the center, including high-performance computing, massively parallel processing, artificial intelligence, software tool design, and training/consulting. He is the originator and technical lead for the PerfSuite software project. Shirley Moore is a Research Consultant with the Innovative Computing Laboratory at the University of Tennessee, focusing on performance analysis tools and performance analysis of large-scale scientific applications. She also teaches computer science to high school students on the south side of Chicago. A.D. Malony, R. Kufrin, and S. Moore are participating in the NSF Software Development for Cyberinfrastructure (SDCI) project, "Productivity from Open, Integrated Tools (POINT)". The project's goal is to more closely link the TAU, PerfSuite, PAPI, and Scalasca toolsets, deploy the integrated tool environment to NSF HPC platforms on the Teragrid, and promote performance engineering education and training. A. Knüpfer and M. Geimer are participating in the "Virtual Institute - High Productivity Supercomputing (VI-HPS)", a project funded by the Helmholtz Association of German Research Centers. The project's goal is to further develop and integrate the PAPI, Vampir, and Scalasca toolsets, and to foster the deployment and use of the tools by providing joint training activities. Tutorial sheets: POINT_VI-HPS_ICCS09.pdf POINT website: http://www.nic.uoregon.edu/point/ VI-HPS website: http://www.vi-hps.org/ There is no fee to attend the tutorials, but please, fill out the registration form.
|