Tuesday, March 4
8:00 AM - Registration Opens 8:30 AM - Morning Tutorials
Held in Governor Calvert Ballroom East, located in the Governor Calvert House
Tutorial led by Tony Curtis, Swaroop Pophale, Aaron Welch, University of Houston
OpenSHMEM is a one-sided communication on library API aimed at standardizing several vendor implementations of SHMEM. In this tutorial, we present an introductory course on uthese of OpenSHMEM, its current state and the community’s future plans. We will show how to use OpenSHMEM to add parallelism to programs via an exploration of its core features, to port sequencial applications to run at scale while improving the program performance, and discuss how to migrate existing applicaions that use message passing techniques to equivalent OpenSHMEM programs that run more effi ciently. Tips for porting programs using other existing flavors of SHMEM to portable OpenSHMEM programs will be given. The second part of the tutorial will focus on the plans for OpenSHMEM development, including a look at new PGAS run-time software called UCCS. UCCS is designed to sit underneath PGAS user-oriented libraries and languages such as OpenSHMEM, UPC, CAF and Chapel.
Accelerator Programming with OpenACC and OpenSHMEM Tutorial
Held in Governor Calvert Ballroom Center, located in the Governor Calvert House
Tutorial led by Jean-Charles Vasnier, Applications Engineer at CAPS Enterprise
This tutorial has been designed for those who are interested in porting their OpenSHMEM applications to a hardware accelerator, such as a GPU, using OpenACC. Following a mixture of lectures and demonstrations, we will explore the basic steps to port an application on the GPU. First, attendees will learn how to port a kernel on the GPU using directives. Then we see how to improve the overall performance of the application by reducing the data transfers between the host and the accelerators and by tuning the kernel.
1:00 PM - Afternoon Tutorials
OpenSHMEM Tools Tutorial
Governor Calvert Ballroom East, located in the Governor Calvert House
Tutorial led by Nick Forrington, Allinea, Oscar Hernandez, Oak Ridge National Laboratory; Sameer Shende, Paratools; Frank Winkler, Dresden
This tutorial will focus on the state-of-the-art of tools available for OpenSHMEM including a tutorial on program analysis, performance and debugging tools currently available for OpenSHMEM. We will also discuss the future roadmap to provide an integrated tools environment for OpenSHMEM. The tools that we will cover are: the OpenSHMEM Analyzer, TAU Performance Analysis tools, Vampir Tracing Tools, and DDT Debugger for OpenSHMEM. TAU is a performance tool that provides portable profi ling and tracing for OpenSHMEM applications. This tutorial provides hands-on exercises on how this tool integrates with OpenSHMEM. Vampir is tool-set for performance analysis that traces events and identifies problems in HPC applications. It is the most scalable tracing analysis tool that can scale upto several hundred thousand processes. It consists of the run-time measurement system VampirTrace and the visualization tools Vampir and VampirServer. In this tutorial, we will present how to use Vampir to trace OpenSHMEM applications at scale. The DDT port on of the tutorial will cover the fundamentals of debugging multi - process OpenSHMEM programs with the Allinea DDT parallel debugging tool, and will include an introduction to the DDT user interface and how to start programs, as well as how to track down crashes and compare variables across processes. The OpenSHMEM Analyzer is a compiler-based tool that can help users detect errors and provide useful analyses about their OpenSHMEM applications. In this tutorial we will show how the tool can be used to detect incorrect use of variables in OpenSHMEM calls, out-of-bounds checks for symmetric data, checks for incorrect initialization f pointers to non-symmetric data, and symmetric data alias information.
VERBS Programming Tutorial
Held in Governor Calvert Ballroom Center, located in the Governor Calvert
Tutorial led by Dotan Barak, Senior So ware Manager, Mellanox Technologies
This tutorial provides a basic overview of the Infi niBand technology and explain its advantages as a networking technology. Among others, this tutorial covers the following topics: various Infi niBand hardware and software components; explain how to utilize the Infi niBand technology for best performance; review the verbs API which is required for programming over Infi niBand; and fi nally it will provide several tips and tricks on verbs programming.