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
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
