High Performance Computing Programming (SL-380)
The High Performance Computing Programming course provides students with the
knowledge and skills to optimize and parallelize Fortran, C, and MPI programs
for the Sun HPC ClusterTools 4 computing environment.
Who Can Benefit
Students who can benefit from this course are:
- Experienced C, Fortran, or MPI programmers developing applications under the
Sun HPC ClusterTools 4 computing environment.
- Application programmers responsible for porting existing applications to the
Sun HPC ClusterTools 4 computing environment.
Prerequisites
To succeed fully in this course, students should be able to:
- Use basic Solaris Operating Environment commands (create, copy, and rename
files and compile, run, and monitor jobs)
- Create and edit text files using a UNIX text editor
- Write any of F77, F90, or C programs proficiently
- Understand or write an MPI program (or understand the basics of message-passing
distributed-memory programming)
- Understand the basic concepts of UNIX processes and POSIX-threaded processes
Skills Gained
Upon completion of this course, students should be able to:
- Compile and execute a program using Sun Performance Workshop with basic
serial optimization
- Use the Sun Performance Workshop to identify performance bottlenecks
- Know why, when and how to parallelize and run programs in Sun's SMP or
clustered environment
- Successfully use the Sun HPC ClusterTools 4 environment to run MPI and other
parallel programs in Sun's clustered SMP environment
Related Courses
Before:
-
High Performance Computing Administration (ES-320)
Course Content
Module 1 - Program Optimization and Sun HPC Product Overview
- HPC purpose and features
- HPC software and hardware components
- Application development and optimization methodology
Module 2 - Serial Optimization
- Optimization of single-process, single-thread applications
- Characterization of application run-time behavior using tools and utilities
- Compiler options to enhance application performance
- Porting issues between 64-bit and 32-bit environments
- Using the Sun Performance Library
Module 3 - Program Parallelization
- Parallel programming overview
- Workshop compiler automatic parallelization
- Explicit parallelization with compiler directives
- Explicit parallelization using processes and threads
- Tools and techniques to guide parallelization
- Recoding for improved parallelism
Module 4 - Optimizing MPI Applications
- Overview of MPI and message passing programming
- Using the Cluster Runtime Environment (CRE) to launch and monitor MPI programs
- Tools and techniques to analyze MPI application run-time behavior
- Optimization techniques for MPI applications
- Using the Sun(TM) Scalable Scientific Subroutine Library (Sun S3L)
Copyright
2004-2009 Sun Microsystems, Inc.