VI-HPS Tuning Workshop
Wednesday, March 5 - Friday, March 7, 2008
Monday, March 3 - Tuesday, March 4, 2008
|SunHPC 2008 Seminar:|
Monday, March 3, 9:00 - Tuesday March 4, 17:30
VI-HPS Tuning Workshop:
Wednesday, March 5, 9:00 - Friday March 7, 12:30
Center for Computing and Communication
RWTH Aachen University
Seffenter Weg 23
Lecture Room and Lab Room 3
- Programming Tools
- Soft- and Hardware Platforms
- Agenda and Slides
- Registration and Feedback
- the Jülich Supercomputing Centre (JSC) of the Forschungszentrum Jülich,
- the Center for Information Services and High Performance Computing (ZIH) of the Technische Universität Dresden, and
- the Innovative Computing Laboratory of the University of Tennessee (ICL).
took place in Aachen in March 2008.
Besides esteemed tools experts of the VI-HPS partners, we will be happy to welcome performance experts from Sun Microsystems as special guests, contributing their experience and assistance in using the Sun performance tools.
The mission of the VI-HPS is to improve the quality and accelerate the development process of complex simulation programs in science and engineering. For this purpose, integrated state-of-the-art programming tools for high-performance computing are developed that assist domain scientists in diagnosing programming errors and optimizing the performance of their applications. As training and support is an essential component of the VI-HPS activities, we are happy to invite application programmers to bring in their codes, to learn more about state-of-the-are programming tools for high-performance computing and get expert assistance in debugging, tuning and parallelization using MPI and OpenMP.
Performance tuning is still often a matter of some experimentation, but we can give you advice on a best effort basis. Application developers can expect to learn about the execution performance of their applications: this insight can be helpful even where it doesn't directly lead to performance improvements. To maximize the efficiency of the workshop, we would like to ask you to prepare a test case that reflects a typical production run, but does not take too long to execute. In the ideal case, a run should not take more than 5 to 10 minutes to finish. It is also important to have an easy way of verifying that the results of this test run are correct.
Wel provided access to and support for the programming tools and the computing platforms listed below:
Developing correct and scalable parallel programs is hard and good programming tools may increase the programmer's productivity considerably. But developing these tools themselves is an art as well and this tuning workshop will be a unique opportunity for application programmers to directly interact with tool developers when working on their application codes.
In order to get some basic insight into the functioning of performance tools I like to point to an introduction into "Profiling and Tracing in Linux" by Sameer Shende (pdf) which basically holds for other operating systems as well. A summary for first reading is provided here.
The tools which were presented and available in the context of this workshop were
- Sun Performance Analyzer is a proprietary tool from Sun Microsystems which is freely available for Linux and Solaris together with the Sun Studio compiler suite. The tool primarily targets towards serial and shared memory parallel program analysis and has some limited features for MPI program analysis.
- Acumem Virtual Performance Expert (VPE) is a commercial tool from Acumem to analyze the cache behaviour of program.
- OPARI is a free source-to-source translation tool for instrumenting OpenMP codes developed at the JSC. OPARI is used in conjunction with ompP, KOJAK and VampirTrace
- VAMPIR is a commercial framework and graphical analysis tool developed at the ZIH to display and analyze OTF trace files generated by VampirTrace and other tools.
- KOJAK / SCALASCA for the performance analysis of MPI applications with a strong focus on improved scalability. Like KOJAK, tracefiles are analyzed to automatically detect and classify performance properties which then are displayed by the CUBE graphical utility.
With the most recent versions, both tools have been merged into SCALASCA1.0.
Quick Reference Guide (pdf)
- MARMOT is a free correctness checking tools for MPI programs developed at ZIH and HLRS
- Sun Thread Analyzer a proprietary tool from Sun Microsystems which is freely available for Linux and Solaris together with the Sun Studio compiler suite. The tool checks for data races and deadlocks in shared memory parallel programs.
We were setting up a tools matrix giving an overview of the above mentioned tools.
We concentrated on 64 bit addressing mode on all these platforms!
- Logging into the Lab Machines
- Getting Started on the Lab Machines
- Lab Environment
- Distributed Debugging Tool (DDT) by Allinea
- IBM Compiler for BlueGene
- IBM LoadLeveler
- Intel® C++ Compiler
- Intel® Fortran Compiler
- Intel MPI Library
- GNU Compiler
- SGI Message Passing Toolkit, SGI MPI Programmer's Manual
- Sun Compiler
- Sun MPI (Sun HPC ClusterTools 6)
- TotalView® Debugger by TotalView Technologies (formerly Etnus)
- OpenMP Specification (V2.5)
- MPI hompage
- MPI Forum
We started on Wednesday morning with short presentations of the programming tools and start to get hands on the machinery starting from Wednesday afternoon. While we have beenproviding as much time as possible for practical work, we accommodated more detailed presentations on the tools in parallel to the lab time upon demand during that following 2 days.
Sun Microsystems is sponsoring a social dinner in the restaurant "Kazan" on Tuesday evening at 19:00.
See our citymap for the location.
Presentations on Wednesday morning starting at 9:00 till 12:30
- Welcome and Introduction - Dieter an Mey (RWTH) - (slides), Video
- Scalasca instrumentation & measurement - Bryan Wylie (JSC) - (slides)
- Scalasca analyses & analysis presentation - Markus Geimer (JSC) - (slides), (slides scalasca patterns), Video
- Vampir / VampirTrace - Andreas Knüpfer, Holger Brunst (ZIH) (slides), Video
- ompP / PAPI - Karl Fürlinger (ICL) (slides), Video ompP, Video PAPI
- MARMOT - Valentin Himmler, Bettina Krammer (HLRS) (slides, exercises), Video
- Sun Performance and Thread Analyzers - Ruud van der Pas (Sun) (slides)
- Acumem VPE - Mats Nilsson (Acumem) (slides)
- Lab Environment - Dieter an Mey (RWTH) - (slides), Video
Optional presentations between Wednesday afternoon 14:00 and Friday 12:30 in parallel to hands-on sessions
- VampirTrace for Instrumentation and Run-Time Measurement, including the user's view as well as "what's going on behind the scenes" - Holger Brunst, Andreas Knüpfer, ZIH (slides), Video
- Vampir and VampirServer -- the guided tour - Holger Brunst, Andreas Knüpfer, ZIH (slides), Video
- TotalView, a short introduction into parallel debugging (~20 min)- Dieter an Mey, RWTH (slides)
- Acumem VPE - Mats Nilsson (Acumem) (slides)
- Scalasca guided tour, tips & tricks (60 min) - Brian Wylie, JSC
- Scalasca performance properties: "the metric tour"(30 min) - Markus Geimer, JSC
- Scalasca/1.0 for KOJAK experts, including integration with VAMPIR (15 min, Thursday only!) - Bernd Mohr, JSC
In order to improve the settings for future tuning workshops we heavily rely on your feedback. Please take a few minutes to fill out the online form .