Tutorial: High-Performance Numerical Tools for the Development and Scalability of High-End Computer Applications


Dr. Leroy A. Drummond and Dr. Osni A. Marques
Computational Research Division, Lawrence Berkeley National Laboratory
Berkeley, California, USA
{LADrummond, OAMarques}@lbl.gov

Dr. Sameer Shende
Department of Computer and Information Science, The University of Oregon
Eugene, Oregon, USA

More detailed information is HERE

July 17th (Tuesday)
Venue: 3F Seminar Room Kobe University

We recommend that participants bring a laptop to the workshop.
We will distribute a linux bootable Live-DVD with all the tools pre-installed.

(Lobby/Auditorium, Kobe U.)
Session-1: Introduction
09:50-10:10 General Introduction and Motivation to The ACTS Collection
Tony Drummond (Lawrence Berkeley National Laboratory, USA)
Session 2: TAU (I)
10:10-10:50 Introduction to Performance Monitoring and Tuning by TAU
Sameer Shende (The University of Oregon, USA)
Session 3: Solving Linear Systems of Equations (Ax = b and AX = B) (I)
10:50-12:50 Using Direct Techniques
(a) Dense Cases: Introduction to ScaLAPACK (40 mins)
(b) Sparse Cases: SuperLU (20 mins)
(c) Hands-On demonstration on How to Use ScaLAPACK (60 mins)
Osni Marques (Lawrence Berkeley National Laboratory, USA)
12:50-14:00 (Lunch Break)
Session 4: Solving Linear Systems of Equations (Ax = b and AX = B) (II)
14:00-16:00 Using Iterative Techniques
(a) Introduction to PETSc (40 mins)
(b) Introduction to Hypre (20 mins)
(c) Hands-On Demonstration on How to Use PETSc and Hypre (60 mins)
Tony Drummond (Lawrence Berkeley National Laboratory, USA)
Session 5: Solving Eigenvalue Problems
16:00-16:30 Dense Case: Introduction to ScaLAPACK
Osni Marques (Lawrence Berkeley National Laboratory, USA)
(Lounge/Auditorium, Kobe U.)
(Coffee Break)
16:50-17:20 Sparse Case: Introduction to SLEPc
Tony Drummond (Lawrence Berkeley National Laboratory, USA)
Session 6: TAU (II)
17:20-18:05 Advanced Performance Monitoring and Tuning by TAU
Sameer Shende (The University of Oregon, USA)
Session 7: Concluding Remarks
18:05-18:20 Osni Marques (Lawrence Berkeley National Laboratory, USA), Tony Drummond (Lawrence Berkeley National Laboratory, USA), Sameer Shende (The University of Oregon, USA)


This short course will be an introduction to a set of advanced computational software tools to leverage the development of high performance applications. The lectures will focus on the selection, installation and use of scalable and robust software tools. Functionalities implemented in these software tools include; numerical algorithms for the solution of large computational problems, performance monitoring and profiling. Participants should expect to learn about techniques used to solve common computational problems and monitor their performance. Participants are encouraged to bring laptop computers and follow live demonstrations through hands-on experiences. The software presented here is freely available and widely used by the computational sciences international community.

Intended Audience

Level of Presentations

The level of the presentations requires a general understanding of High Performance Computing (HPC) applications and parallel programming. The level of difficulty of presented topics can be characterized as follows:

Introductory: 60 %, Intermediate: 25 %, Advanced: 15 %

Course Description

The main goal of this tutorial is to introduce users to a variety of software solutions that assists computational scientists to develop high-performance programs using robust and scalable libraries while understanding their performance. Thus, the tutorial covers scalable implementations of numerical algorithms, automatic optimization, performance monitoring and profiling tools. All tools to be presented in this tutorial are part of the United States Department of Energy Advanced CompuTational Software Collection, which offers a plethora of robust and high-performance computational services.

For numerical algorithms, we look at direct and iterative solutions of linear and non-linear systems of equations, general eigenvalue problems for systems leading to dense and sparse matrices. Attendees will not only learn about the use of the tools, but also will be provided with interactive examples that will help them with the selection of tools and interfaces, installation of tools, and automatic optimization of libraries. Tools to be presented here include ATLAS, Hypre, PETSc, ScaLAPACK, SLEPc. and SuperLU.

In addition, the tutorial will also cover performance data collection, analysis, and optimization. To evaluate the performance of their parallel, scientific applications, we will demonstrate TAU, PAPI and Vampir. After describing and demonstrating how performance data (both profile and trace data) can be collected in a straightforward manner using TAUfs (Tuning and Analysis Utilities) automated instrumentation, the workshop will cover how to analyze the performance data collected and drill down to find performance bottlenecks and determine their causes. The workshop will include some sample codes that illustrate the different instrumentation and measurement choices available to the users. Topics will cover generating performance profiles and traces with hardware performance counters data using PAPI. Trace-based visualization will be covered using the Vampir tool for scalable visualization of event traces. The workshop will demostrate the performance evaluation of codes running on CPUs using MPI/OpenMP and GPGPUs using CUDA.