XSEDE12  •  July 16-20, 2012

InterContinental (Magnificent Mile)
505 N. Michigan Ave., Chicago, IL
Contact: info@xsede.org

XSEDE12 is hosted by

XSEDE, Extreme Science and Engineering Discovery Environment, xsede.org.

in cooperation with


Platinum Sponsors

Dell and Intel logos.
Dell website  |  Intel website

Gold Sponsors

Appro Supercomputer Solutions.

Penguin Computing logo.

Silver Sponsor

Logo of CRAY The Supercomputer Company.

Bronze Sponsor

NVIDIA logo.

Non-profit Silver Sponsor

Computation Institute logo.

Non-profit Bronze Sponsors

Coalition for Academic Scientific Computation logo.

FutureGrid logo.

Pervasive Technology Institute, Indiana University logo.


This page lists the tutorials that have been accepted into the XSEDE12 program, all of which will be presented on Monday, July 16.

Jump to a specific tutorial for details (Tutorials after the Student sessions are listed in alphabetical order).



STUDENT TUTORIAL: Introduction to High-Performance Computing Introductory A.M. Scott Michael, Robert Henschel, Justin Miller

ABSTRACT: This tutorial will provide an introduction to the basic ideas and key technologies that comprise high-performance computing today. Although the sessions are targeted toward students, any researcher new to the field of high-performance scientific computing could benefit from this introduction. No previous HPC experience is required. Although there are no strict requirements, a laptop with a command line terminal program will be helpful in following along with the examples. The topics covered in this morning session will be an introduction to Linux, which will introduce students to the command line interface and explore some useful command line tools; an introduction to high-performance computing, which will focus on clusters and how they are used in scientific computing; and an introduction to high-performance file systems, which will detail the different types of storage available in HPC and explore best practices for data movement and curation.

B A C K   T O   T O P

STUDENT TUTORIAL: Topics in High-Performance Computing Introductory P.M. Scott Michael, Robert Henschel, Jennifer Houchins

ABSTRACT: This tutorial will build on the introduction to the basic ideas and key technologies that will be introduced in the morning session. The focus will be on how to develop applications that can leverage high-performance computational systems. Although the sessions are targeted toward students, any researcher new to the field of high-performance scientific computing could benefit from this introduction. No previous HPC experience is required. Although there are no strict requirements, a laptop with a command line terminal program will be helpful in following along with the examples. The topics covered in this afternoon session will be an introduction to parallelization strategies, which will introduce students to different parallel execution paradigms with a brief introduction to accelerator technologies; an introduction to performance analysis and tuning, which will focus on tools to explore code performance and strategies to improve performance and scalability; and an introduction to petascale computing, which will detail the current state of the art in petascale systems and highlight potential opportunities for involvement in future petascale efforts.

B A C K   T O   T O P

STUDENT TUTORIAL: Supercomputing in Plain English, Part 1 Introductory A.M. Tom Murphy, Henry Neeman, Charlie Peck


  • Lecture: Overview: What the Heck is Supercomputing?
    This session provides a broad overview of High-Performance Computing (HPC). Topics include: what is supercomputing?; the fundamental issues of HPC (storage hierarchy, parallelism); hardware primer; introduction to the storage hierarchy; introduction to parallelism via an analogy (multiple people working on a jigsaw puzzle); Moore's Law; the motivation for using HPC.
  • Lab: Running A Job on a Supercomputer
    In this hands-on lab session, you'll get an account on one or more supercomputers, and you'll get a chance to run a job. If your Unix/Linux skills have gotten a little rusty, this will be a great refresher.
  • Lecture: The Tyranny of the Storage Hierarchy
    This session focuses on the implications of a fundamental reality: fast implies expensive implies small, and slow implies cheap implies large. Topics include: registers; cache, RAM, and the relationship between them; cache hits and misses; cache lines; cache mapping strategies (direct, fully associative, set associative); cache conflicts; write-through vs. write-back; locality; tiling; hard disk; virtual memory. A key point: Parallel performance can be hard to predict or achieve without understanding the storage hierarchy.
  • Lab: Running Benchmarks on a Supercomputer
    In this hands-on lab session, you'll benchmark a matrix-matrix multiply code to discover the configuration that gets the best performance.
  • Other topics may be introduced if time permits.

STRONGLY ENCOURAGED: Laptop (Windows, MacOS or Linux); free software might need to be downloaded during the session

PREREQUISITES: One recent semester of programming in C or C++; recent basic experience with any Unix-like operating system (could be Linux but doesn't have to be). (Attendees with Fortran experience will be able to follow along.) No previous HPC experience will be required.,

B A C K   T O   T O P

STUDENT TUTORIAL: Supercomputing in Plain English, Part 2 Introductory P.M. Tom Murphy, Henry Neeman, Charlie Peck


  • Lecture: MPI: The Desert Islands Analogy
    This session provides an intuitive, nontechnical analogy for understanding distributed parallelism (desert islands), as a precursor for understanding the MPI programming model: distributed execution, communication, message passing, independence, privacy; latency vs. bandwidth; parallel strategies (client-server, task parallelism, data parallelism, pipelining). Assumed background: One recent semester of programming in C or C++; recent basic Unix/Linux experience.
  • Lecture: MPI: The First Six Routines
    This session gives a first introduction to distributed parallelism via MPI. Topics include: the first six MPI routines (MPI_Init, MPI_Finalize, MPI_Comm_size, MPI_Comm_rank, MPI_Send, MPI_Recv); structure of MPI calls; MPI program structure; Single Program/Multiple Data strategy; hello world; running MPI codes; compiling for MPI; rank; indeterminism; MPI data types; tags; communicators.
  • Lab: Running an MPI Code
    In this hands-on lab session, you'll get an account on one or more supercomputers, and you'll get a chance to run a job. If your Unix/Linux skills have gotten a little rusty, this will be a great refresher.
  • Group Coding Session: Parallelizing a Serial Code with MPI
    In this directed group coding session, we'll work together as a group to use MPI to parallelize a serial code.
  • Other topics may be introduced if time permits.

STRONGLY ENCOURAGED: Laptop (Windows, MacOS or Linux)

PREREQUISITES: One recent semester of programming in C or C++; recent basic Unix/Linus experience; "Supercomputing in Plain English, Part 1 or equivalent. (Attendees with Fortran experience will be able to follow along, but the group coding exercise cannot be provided in both C and Fortran simultaneously.)

B A C K   T O   T O P


Accelerator Programming with OpenACC and CUDA Introductory-Intermediate Full-day John Urbanic, Lars Koesterke and Galen Arnold

ABSTRACT: This full-day tutorial will address the two main programming models in use today for adapting HPC codes to effectively use GPU accelerators. The two half-day sessions will share some common techniques for achieving best performance with an accelerator.

B A C K   T O   T O P

A New and Improved Eclipse Parallel Tools Platform: Advancing the Development of Scientific Applications Introductory-Intermediate-Advanced Full-day Jay Alameda, Beth Tibbitts, Galen Arnold, Jeffrey Overbey, Wyatt Spear, Alan Humphrey, Steve Brandt, Chris Navarro, Dennis Castleberry and Hari Krishnan

ABSTRACT: Many HPC developers still use command-line tools and tools with disparate and sometimes confusing user interfaces for the different aspects of the HPC project life cycle. The Eclipse Parallel Tools Platform (PTP) combines tools for coding, debugging, job scheduling, tuning, revision control, and more into an integrated environment for increased productivity. Leveraging the successful open source Eclipse platform, PTP helps manage the complexity of HPC scientific code development and optimization on diverse platforms and provides tools to gain insight into complex code that is otherwise difficult to attain. This tutorial will provide attendees with a hands-on introduction to Eclipse and PTP. Access to a parallel system from XSEDE for the hands-on portions will be provided.

REQUIRES: Laptop pre-installed with Eclipse and PTP.
See http://wiki.eclipse.org/PTP/tutorials/XSEDE12 for installation instructions.

B A C K   T O   T O P

Developing Science Gateways using Apache Airavata AP Intermediate-Advanced Half-day Suresh Marru, Raminder Singh, Lahiru Ginnaliya Gamathige, Matt McKenzie, Ye Fan, Ning Shen, Saminda Wijeratne, Heshan Suriyaarachchi, Marlon Pierce and Sudhakar Pamidighantam

ABSTRACT: The tutorial will be based on Apache Airavata, a software toolkit to build science gateways. Airavata provides features to compose, manage, execute, and monitor small to large-scale applications and workflows on computational resources ranging from local clusters to national grids such as XSEDE and computing clouds such as Amazon Elastic Compute Cloud. Airavata builds on general concepts of service-oriented computing, distributed messaging, workflow composition, and orchestration. The Airavata suite includes tools for workflow composition and monitoring. The standout feature of the workflow engine allows it to interpret at each step, providing dynamic interactive capabilities. The core capabilities provide the ability to wrap command line-driven science applications and make them into robust, network-accessible services. The Airavata Registry provides persistent data store. The gateway building toolkit also includes a publish/subscribe-based messaging system with features to incorporate clients behind firewalls and overcome network glitches.

REQUIRES: SSH, SVN, Web browser

PREREQUISITES: Grid computing, portal development experience

B A C K   T O   T O P

Enabling Your Campus to Simplify Research Data Management with Globus Online Intermediate Half-day Steve Tuecke and Rajkumar Kettimuthu

ABSTRACT: In this tutorial, XSEDE Campus Champions and owners of campus resources will learn how to deliver easy-to-use yet sophisticated data management solutions to their researchers using Globus services. Globus provides research data management capabilities using software-as-a-service (SaaS) approaches, without requiring construction of custom end-to-end systems. Globus services provide secure, scalable, robust solutions to the issues faced by users when moving, storing, and sharing "big data" among distributed research groups. The Globus Transfer service addresses the challenges of moving large data sets between campus/XSEDE resources and researchers' personal computers. The Globus Storage service enables users to place data on campus storage and other cloud storage systems, and allows them to access, update, snapshot, and share versions of their data with anyone on campus as well collaborators at other institutions. This tutorial will demonstrate how a campus can easily enable data management services for their end users using Globus. Participants will learn how to set up a Globus Transfer endpoint using Globus Connect Multi-User (GCMU) and how to create and manage Globus Storage endpoints. Participants also will learn how to set up a MyProxy OAuth server and configure their endpoint to use it for user authentication.


B A C K   T O   T O P

Hands-on Tutorial for Building Science Gateway Applications on Cyberinfrastructure Intermediate-Advanced Half-day Yan Liu, Marlon Pierce, Suresh Marru, Raminderjeet Singh, Shaowen Wang and Nancy Wilkins-Diehr

ABSTRACT: The science gateway approach has been widely adopted to bridge cyberinfrastructure (CI) and domain science communities by establishing an online problem-solving environment that seamlessly manages domain-specific computations on CI and provides usable Web- and/or desktop-based gateway applications to community users. As CI resources become increasingly available and accessible for researchers and scientists, agile and effective gateway application development becomes crucial to efficiently leverage CI computing power in domain-specific computation and allow researchers to concentrate on their domain problem solving. This tutorial uses SimpleGrid, a toolkit for efficient learning and development of science gateway building blocks, to provide hands-on experience in leveraging CI (XSEDE in particular) for domain-specific scientific computing, developing XSEDE-enabled science gateway applications as software and Web services, and integrating gateway applications as modular and highly usable Web 2.0 applications. Apache Rave will be used for hands-on exercises of building gateway app gadgets and a prototype Web portal. The intended audience for this tutorial includes researchers and developers who have their scientific codes ready for planned use of CI and are interested in providing community access to the codes by creating a science gateway.

REQUIRES: Web browser, SSH

PREREQUISITES: Web development, grid computing experience

B A C K   T O   T O P

Harnessing the Power of Visualization: Concept to Execution Introductory-Intermediate Half-day Amit Chourasia, Kelly Gaither, Sean Ahern and Hank Childs

ABSTRACT: Visualization is largely understood and utilized as an excellent communication tool by researchers. This narrow view often keeps scientists from using and developing visualization skillets. This tutorial will provide a grounds-up understanding of visualization and its utility in error diagnostic and exploration of data for scientific insight. When used effectively, visualization can provide a complementary and effective toolset for data analysis, which is one of the most challenging problems in computational domains. In this tutorial, we plan to bridge these gaps by providing end users with fundamental visualization concepts, execution tools, and usage examples. The tutorial will be presented in three sessions covering visualization fundamentals, visualization with Paraview, and visualization with Visit.

REQUIRES: Laptop with Visit and Paraview installed

B A C K   T O   T O P

High-Throughput Computing With XSEDE Introductory-Intermediate Half-day Kimberley Dillman, Ben Cotton, Miron Livny and Mats Rynge

ABSTRACT: High-throughput computing is not as well understood as some of the other types of computing available on XSEDE resources. However, the Purdue Condor Pool and OSG are very good resources for certain types of computational scientific research and can provide a large number of compute hours if the type of research computing required is a good match. This tutorial will cover the concept of high-throughput computing, the types of jobs that might be a good "match" for the Purdue Condor Pool and OSG resources, as well as a background in the Condor software that provides the main job submission and workflow mechanism for both resources. Additional details will be provided on how both the Purdue Condor Pool and OSG are set up. Example serial code, as well as access to both the Purdue Condor Pool and OSG for a "hands-on" workshop, will be provided in the second half of the tutorial.

REQUIRES: Laptop, GSISSH, Web browser


B A C K   T O   T O P

Infrastructure Clouds for Science and Education Intermediate Half-day John Bresnahan, Kate Keahey and Renato Figueiredo

ABSTRACT: Infrastructure-as-a-service (IaaS) cloud computing (sometimes also called "infrastructure cloud computing") has recently emerged as a promising outsourcing paradigm; it has been widely embraced commercially and is also beginning to make inroads in scientific communities. Although popular, the understanding of its benefits, challenges, modes of use, and general applicability as an outsourcing paradigm for science is still in its infancy, which gives rise to many myths and misconceptions. Without specific and accurate information, it is hard for the scientific communities to understand whether this new paradigm is worthwhile – and if so, how to best develop, leverage, and invest in it. Our objective in this tutorial is to facilitate the introduction to infrastructure cloud computing to scientific communities and provide accurate and up-to-date information about features that could affect its use in science: to conquer myths, highlight opportunities, and equip the attendees with a better understanding of the relevance of cloud computing to their scientific domains. To this end, we have developed a tutorial that mixes the discussion of various aspects of cloud computing for science, such as performance, privacy, and standards, with practical exercises using infrastructure clouds and state-of-the-art tools. We will be using FutureGrid clouds for the examples.


PREREQUISITES: Linux experience

B A C K   T O   T O P

Introduction to BigJob - A SAGA-Based Interoperable, Extensible and Scalable Pilot-Job for XSEDE (not specified) Half-day Shantenu Jha, Yaakoub El Khamra and Pradeep Kumar Mantha

ABSTRACT: The SAGA-based Pilot-Job, known as BigJob, provides the unique capability to use Pilot-Jobs on the highest-performing machines as well as collectively on distributed cyberinfrastructure. It supports very large-scale parallel jobs, as well as high throughput of many smaller jobs. In addition to the number and range of job sizes that it supports, what makes BigJob unique among all Pilot-Jobs is its ability to be programmatically extended to support a range of "simple workflows," provide application-level control of both the Pilots and the tasks assigned to the Pilot-Job, and its interoperability over all XSEDE and OSG platforms. This half-day tutorial will bring together SAGA team members, XSEDE staff, and XSEDE end users (scientists using BigJob) to deliver: The basic concepts behind Pilot-Jobs, several science exemplars that routinely use BigJob on XSEDE for extreme-scale science, introduction on how to use BigJob, how to use BigJob on XSEDE and OSG, how to program and customize BigJob for your needs, building frameworks using BigJob, and advanced concepts and application-level scheduling using BigJob.


B A C K   T O   T O P

Preparing for Stampede: Programming Heterogeneous Many Core Supercomputers Introductory-Intermediate-Advanced Half-day Bill Barth, Dan Stanzione, Kent Milfeld and Lars Koesterke

ABSTRACT: The next round of supercomputing technology will feature heterogeneous architectures with many-core CPU and accelerator technologies. In the coming year, the Texas Advanced Computing Center (TACC) will deploy a 2PF Intel Sandy Bridge, 8PF Intel MIC Architecture hybrid cluster name Stampede, featuring hundreds of thousands of heterogeneous cores. This tutorial will introduce experienced C/C++ and Fortran programmers to techniques essential for preparing their scientific applications for future systems. These future architectures will support wider and more powerful SIMD vector units, so the first half of the tutorial will focus on understanding modern vector programming, compiler vectorization reports, solutions to common vectorization problems, and new ways to employ new SIMD instructions. The second half of the tutorial will concentrate on using OpenMP directives and tasks to exploit the parallelism inherent in high core-count processors and heterogenous systems. Hands-on exercises will be conducted. Motivating examples from Intel's future MIC Architecture will be presented.

PREREQUISITES: Parallel programming experience

B A C K   T O   T O P

Programming Accelerators Using Directives Introductory-Intermediate Half-day François Bodin

ABSTRACT: This tutorial aims at presenting OpenACC in the context of a code migration methodology. Besides having a clear view of how to migrate applications onto new many-core processors (GPU right now), the main objective of a methodology is to reduce risks and improve efficiency. CAPS HMPP compiler for OpenACC was released April 24, 2012. The purpose of OpenACC is to define a common set of directives between CAPS, CRAY and PGI compilers. This initiative comes in anticipation of the eventual extension of OpenMP to accelerators.

B A C K   T O   T O P

Selecting and Using XSEDE Resources for Maximum Productivity Introductory-Intermediate Half-day Kimberley Dillman

ABSTRACT: The XSEDE program provides a wide variety of resources to the research and academic community. Due to the varied nature of these resources, it is not always easy or even clear which resources to select for a project. This tutorial will provide an overview of the requirements that need to be determined and how to find resources that "match" these requirements. It also will cover some basic information about the computational and data resources available to the user community, as well as the tools and information provided to assist in the selection of these resources. Some examples of "matching users to resources" will be provided, as well as information on the various methods of accessing the resources. Tips on making the most of the resources selected also will be covered. Example serial and parallel code and access to several resources for a "hands-on" workshop will be provided in the second half of the tutorial. Some of the code examples will highlight the utilization of the "special" Condor Pool and OSG resources, as well as a few others.

REQUIRES: Laptop, GSISSH, Web browser

PREREQUISITES: XSEDE ID with access to resource

B A C K   T O   T O P

Toward Improved Performance Solutions (TIPS) on XSEDE Systems Introductory-Intermediate-Advanced Full-day Bilel Hadri, Heike Jagode, Shirley Moore, Pragnesh Patel and Haihang You

ABSTRACT: This tutorial, suitable for attendees with intermediate-level experience in Parallel programing, will provide a comprehensive overview on the optimization techniques to speed up parallel programs. It will focus on analyzing and tuning the performance of the code to efficiently use XSEDE computing resources. An overview on parallel programming models (MPI, OpenMP, Threads and Hybrid) and performance tools (FPMPI, PAPI, IPM, TAU and PerfExpert) will be presented, emphasizing performance measurement, profiling, tracing, and analysis to improve application performance. Moreover, a discussion of various MPI/OpenMP techniques, I/O paradigms and state of the art numerical linear packages will be presented with emphasis on best practices and scalability. A hands-on session will be conducted for each part to give participants the opportunity to investigate techniques and performance optimizations on a HPC system. Example codes with instructions will be provided to facilitate individual discovery. Additionally, participants may bring and work on their own codes.


PREREQUISITES: Parallel programming experience

B A C K   T O   T O P

UNICORE 6 Workshop Introductory Half-day Bastian Demuth

ABSTRACT: This tutorial provides an overview of the grid middleware UNICORE 6 covering both server and client components. First, the system's overall architecture will be introduced, followed by a discussion of the features and some technical details on the main components. This includes a discussion of services for job execution, data storage, and user management, as well as service discovery, data transfers, and security issues.

REQUIRES: Laptop, Java

B A C K   T O   T O P

Using Gordon, a Data-Intensive Supercomputer (not specified) Half-day Pietro Cicotti, Robert Sinkovits and Mahidhar Tatineni

ABSTRACT: The Appro Gordon Compute Cluster was put into production at the San Diego Supercomputer Center (SDSC) in early 2012. In addition to providing academic users with their earliest access to the Intel EM64T Xeon E5 (Sandy Bridge) processor, it contains a number of unique features that make it ideal for data-intensive applications. All current and potential Gordon users are invited to attend, but we especially encourage practitioners from domains that have not traditionally been major users of NSF compute resources (e.g., political science, linguistics, economics, finance, data analytics, and sociology) to participate. The tutorial covers the Gordon architecture, the types of applications that are ideally suited for the system, and how to run jobs and get the best performance on the system.

PREREQUISITES: Linux experience

B A C K   T O   T O P

XSEDE/Genesis II – From the Global Federated File System to Running Jobs Intermediate Half-day Andrew Grimshaw and Daniel Dougherty

ABSTRACT: XSEDE introduces a new approach to satisfying user needs. The approach combines an emphasis on interoperability and standards as a means to reduce risk and provide a diversity of software sources, inclusion of campus and research group resources as first-class members of XSEDE, as well as particular attention to non-functional quality attributes such as ease-of-use and availability. This tutorial introduces students to using XSEDE access layer tools and sharing capabilities such as the Global Federated File System (GFFS), the XSEDE queue, and the XSEDE client user interfaces.


PREREQUISITES: XSEDE ID preferred; Linux experience

B A C K   T O   T O P

XSEDE New User Tutorial Introductory-Intermediate Half-day Marcela Madrid, Ken Hackworth and James Marsteller

ABSTRACT: This tutorial will provide training and hands-on activities to help new users learn and become comfortable with the basic steps necessary to first obtain, and then successfully employ, an XSEDE allocation to accomplish their research goals. The tutorial will consist of three sections. The first section, "Information Security Training for XSEDE Researchers," will review basic information security principles for XSEDE users including, how to protect yourself from online threats and risks, how to secure your desktop/laptop, safe practices for social networking, email and instant messaging, how to choose a secure password and what to do if your account or machine has been compromised. The second part will explain the XSEDE allocations process and how to write and submit successful allocation proposals. The instructor will describe the contents of an outstanding proposal and the process for generating each part. Topics covered will include the scientific justification, the justification of the request for resources, techniques for producing meaningful performance and scaling benchmarks, and navigating the POPS system through the XSEDE Portal for electronic submission of proposals. The last part of the tutorial will cover the New User Training material that is been delivered remotely quarterly, but it will delve deeper into these topics. New topics will be covered, including how to troubleshoot why a job has not run and how to improve job turnaround by understanding differences in batch job schedulers on different platforms. We will demonstrate how to perform the various tasks on the XSEDE Portal with live, hands-on activities and personalized help. In the event of network issues, we will have demos available as a backup. We anticipate significant interest from Campus Champions, and therefore, we will explain how attendees can assist others, as well as briefly describe projects that are being currently carried out in non-traditional HPC disciplines.

REQUIRES: Laptop, Web browser

B A C K   T O   T O P

Total: 17 tutorials -- three full-day and 14 half-day sessions; plus four half-day student tutorials.