CCS HPC Tutorials Fall 2008

Starting October 1st 2008, CCS will offer a set of tutorials designed to help users transiston to the CCS HPC facility and to use the new environment effectively. These tutorials will be held at the SLAB Seminar room at RSMAS every wednesday between 12:00-1:00 PM


HPC Tutorials
Topic Presenter Date
Using the Ares Cluster Ashwanth Srinivasan October 8, 2008
Using the Kronos Cluster Ashwanth Srinivasan October 15, 2008
Unix Skills for HPC Joel Zysman October 22, 2008
Using FORTRAN for HPC Arthur Mariano October 29, 2008
Performance Tuning Mohamed Iskandarani November 05, 2008
Parallel Programming Mohamed Iskandarani November 12, 2008
Shared Memory Programming using OpenMP Ashwanth Srinivasan November 19, 2008
Parallel Programming using MPI Mohamed Iskandarani November 26, 2008
Scientific DATA FOMATS and data access using OPeNDAP Ashwanth Srinivasan December 03, 2008


Using the CCS Ares Cluster
Ashwanth Srinivasan October 8, 2008

Abstract: This tutorial is intended as a quick start guide to the CCS IBM p-series Ares 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, quotas 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 Cluster
Ashwanth Srinivasan October 15, 2008

Abstract: This tutorial is intended as a quick start guide to 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 commonly used high performance compiler suites are installed on the Linux Cluster. A description of these development tools and the 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
Joel Zysman 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.

Using FORTRAN
Arthur Mariano October 29, 2008

Abstract: This tutorial will provide users with practical tips on using FORTRAN in scientific computing. FORTRAN programming skills are essential for researchers in areas of High Performance 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
Mohamed Iskandarani November 05, 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 both FORTRAN programs. Several source code analysis tools, timing utilities and execution analysis tools are presented. Examples in FORTRAN are provided.

Parallel Computing
Mohamed Iskandarani 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.

Shared Memory Programming using OpenMP
Ashwanth Srinivasan November 19, 2008

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.

Parallel Programming using MPI
Mohamed Iskandarani November 26, 2008

The goal of this tutorial is illustrate 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. Numerous examples using Fortran are provided.

Scientific DATA FOMATS and data access using OPeNDAP
Ashwanth Srinivasan December 03, 2008

Atmospheric and oceanographic data may be 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