HPC Tutorials Fall 2008

HPC Tutorials Fall 2008

Topic Presenter Date
Using the Ares IBM p5-575 Cluster Ashwanth Srinivasan October 8
Using the Kronos Linux Cluster Ashwanth Srinivasan October 15
Unix Skills for HPC Joel Zysman October 22
Fortran Tips for Scientific Computing Arthur Mariano October 29
Single Processor Optimization and Tuning Mohamed Iskandarani November 5
Introduction to Parallel Programming Mohamed Iskandarani November 12
Introduction to Shared Memory Programming using OpenMP Ashwanth Srinivasan November 19
Introduction to Parallel Programming using MPI Mohamed Iskandarani November 26
Scientific Data Formats and data access using OPeNDAP Ashwanth Srinivasan December 3
Emerging Trends in HPC Ashwanth Srinivasan December 10

 

Using the CCS Ares IBM p5-575 Cluster
Presented by: Ashwanth Srinivasan
Date: October 8, 2008

Abstract: This tutorial is intended as a quick start guide to using the CCS p5-575 cluster. A wide variety of topics are covered starting with a description of the CCS organization, a summary of the available supercomputing hardware resources, overview of the p-series architecture, how to obtain accounts and how to access these systems. Important aspects concerning the user environment are then addressed, such as the user’s home directory, various files and file systems, how to transfer/share files, quota and archival storage. A description of the software development environment and use of compilers, software libraries, debuggers, and performance tools is then presented. Following this, procedures and examples for running production batch jobs using the LoadLeveler batch system are discussed.

 

Using the CCS Kronos Linux Cluster
Presented by: Ashwanth Srinivasan
Date: October 15, 2008

Abstract: This tutorial is intended as a quick start guide to using the CCS Linux cluster. The tutorial covers information on accounts, access, user environment, file transfer, storage, development environment, software libraries and running production jobs. Several popular compiler suites are installed on the Linux Cluster. A description of these development tools and example use of the modules package to switch between different environments is provided. Examples illustrating the use of the MOAB scheduler for running production jobs are then provided.

 

Unix Skills for HPC
Presented by: Joel Zysman
Date: October 22, 2008

Abstract: This tutorial covers Unix skills that will boost productivity. Users will be introduced to the basic Unix and Linux environment as it applies to our production systems. The tutorial emphasizes best practices to commonly executed tasks such as basic scripting, makefiles, debugging, linking with software libraries and profiling.

 

Fortran Tips for Scientific Programming
Presented by: Arthur Mariano
Date: October 29, 2008

Abstract: This tutorial will provide users with practical tips on using Fortran for scientific computing. It covers practical issues such as floating point computations, numerical stability, round-off errors etc. Common pitfalls and pathological errors will be explained and suggestions to avoid such problems will be provided. Basic knowledge of Fortran or another mid/high-level programming language is a prerequisite.

 

Performance Tuning of Fortran Codes
Presented by: Mohamed Iskandarani
Date: November 5, 2008

Abstract: This tutorial focuses on techniques and tools for optimizing the performance of serial programs. A variety of loop, arithmetic, and memory management optimization techniques are described for Fortran programs. Several source code analysis tools, timing utilities and execution analysis tools are presented. Basic knowledge of Fortran or another mid/high-level programming language is a prerequisite.

 

Introduction to Parallel Computing
Presented by: Mohamed Iskandarani
Date: November 12, 2008

Abstract: This presentation covers the basics of parallel computing. Beginning with a brief overview and some concepts and terminology associated with parallel computing, the topics of parallel memory architectures and programming models are then explored. These topics are followed by a discussion on a number of issues related to designing parallel programs. The last portion of the presentation is spent examining how to parallelize several different types of serial programs. Basic knowledge of Fortran or another mid/high-level programming language is a prerequisite.

 

Introduction to Shared Memory Programming using OpenMP
Presented by: Ashwanth Srinivasan
Date: November 19, 2008

Abstract: OpenMP is an Application Program Interface (API), jointly defined by a group of major computer hardware and software vendors. OpenMP provides a portable, scalable model for developers of shared memory parallel applications. The API supports C/C++ and Fortran on multiple architectures, including UNIX & Windows. This tutorial covers several features of OpenMP programming by using Fortran examples to illustrate various constructs and directives for specifying parallel regions, work sharing, synchronization and data environment. Runtime library functions and environment variables are also covered. Basic knowledge of Fortran or another mid/high-level programming language is a prerequisite.

 

Introduction to Parallel Programming using MPI
Presented by: Mohamed Iskandarani
Date: November 26, 2008

Abstract: The goal of this tutorial is to introduce the process of developing and running parallel programs using the Message Passing Interface (MPI) standard. MPI is a standard for inter-process communication on distributed-memory multiprocessor based on the consensus of the MPI Forum, which has over 40 participating organizations, including vendors, researchers, software library developers, and users. The tutorial begins with an introduction, background, and basic information for getting started with MPI. This is followed by a detailed look at the MPI routines that are most useful for new MPI programmers, including MPI Environment Management, Point-to-Point Communications, and Collective Communications routines. Examples using Fortran are provided. Basic knowledge of Fortran or another mid/high-level programming language is a prerequisite.

 

Scientific Data Formats and Data Access using OPeNDAP
Presented by: Ashwanth Srinivasan
Date: December 3, 2008

Abstract: Atmospheric and Oceanographic data are typically archived in several different “standard” scientific data formats. This tutorial provides an overview of the various standard formats and illustrates the use of the popular NetCDF format for reading and writing NetCDF files. The tutorial also discusses the Common Data Model (CDM) and provides examples of using OPeNDAP clients like Matlab, Ferret and IDL to access remote data available via OPeNDAP servers. Basic knowledge of Fortran or another mid/high-level programming language is a prerequisite.

 

Emerging trends in HPC
Presented by: Ashwanth Srinivasan
Date: December 10, 2008

Abstract: This tutorial will introduce emerging trends such Graphical Processing Units (GPU) and Field Programmable Gate Arrays (FPGA). Examples on using the NITA CUDA library will be presented.