Profiling & Performance Analysis of Parallel Applications
Date
October 31 - November 1, 2010
Location
King Abdullah University of Science and Technology
Thuwal, Kingdom of Saudi Arabia
Organizing Institutions
This course is offered in cooperation with the Munich Centre of Advanced Computing in the framework of the TUM-KAUST partnership.
Overview
While today's supercomputers offer unprecedented levels of hardware performance, using them in a productive manner remains a major challenge. To write correct and efficient code, application developers typically have to be both experts in their specific field of science to find novel approaches to the problem they want to solve and computer scientists to understand and exploit the intricacies of the system for which their code is being designed. Moreover, access to parallelism is mostly offered via low-level interfaces that are hard to learn and whose performance behavior is hard to predict. Whereas in the business world much of the complexity of application development is hidden behind advanced programming frameworks, stagnating progress in programming techniques for high-performance computing is limiting developer productivity and, thus, often delaying scientific results.
With this course, we want to enable all participants to improve the quality and accelerate the development process of complex simulation programs in science and engineering that are being designed for the most advanced parallel computer systems. For this purpose, we are presenting several state-of-the-art tools for high-performance computing that assist domain scientists in analyzing and optimizing the performance of their applications. In these efforts, we place special emphasis on scalability and ease of use.
Concept
The course concept consists of three building blocks: first, talks on the tools themselves and, second, hands-on training exercises using typical scientific benchmark codes. Most importantly, we invite members of KAUST to bring along their own codes and analyse them with the presented tools. The course covers the following tools (in alphabetical order): Cachegrind, Periscope, Scalasca and Vampir.
The course covers both serial single-core/node performance issues and communication/synchronization performance on massively parallel systems. While a part of the Shaheen BG/P will be reserved and the tools will be available there, we encourage participants to bring along their notebook computers too. The course material comprises not only exercises with benchmark codes to get familiar with the tools, we also provide an x86-compatible Linux Live-DVD with both the commercial and free tools such that each participant can try out the software before switching to the supercomputer.
Schedule
Day 1 | Sunday 31st October |
08:30 | (registration & set-up of notebook computers) |
09:00 | Welcome [Bungartz]
|
09:45 | Introduction to parallel performance analysis [Wolf] |
10:30 | Cachegrind introduction
[Weidendorfer]
|
12:00 | (lunch) |
13:30 | Periscope introduction
[Gerndt]
|
15:00 | Scalasca introduction
[Wylie]
|
16:30 | Review of day [all] |
17:00 | (adjourn) |
Day 2 | Monday 1st November |
09:00 | Vampir introduction
[Weber]
|
10:30 | IBM HPC Toolkit introduction [Allsopp] |
11:00 | Overview of KSL UNITE installation [Wylie, JSC]
|
12:00 | (lunch) |
13:30 | KSL User Assistance [all]
|
16:30 | Review of day [all] |
17:00 | (adjourn) |
Shaheen users interested in participating should contact KSL to register. Due to class room size and resource constraints, the number of participants will be limited to 35, and priority will be give to those bringing running code to analyze on Shaheen.