Home>> | Back to Courseware Access page >> | Back to Other Courseware page >> |
Link to the advanced 2. High Performance Computing MPI Programming section >>
1. Introduction to High-Performance Computing
Operating System: Linux*
Language: English
Audience: Cluster Users and Developers
Courseware Description:
These modules form an intensive two-day overview, with hands-on lab exercises, basics of high-performance cluster computing, use of cluster resources and application preparation. This courseware also includes an overview of performance analysis and tuning of multi-threaded and parallel applications, as well as application debugging and porting tips.
Course Objectives:
After completing this course, you should be able to:
- Be able to understand and run cluster applications;
- Prepare your own cluster ready application;
- Basic cluster application optimizations;
- Diagnose application stability problems;
- Understand challenges and have basic recipes for application porting.
HPC Course Module Overview:
H.1.a Introduction to High Performance Cluster computing module (1 hour)
H.1.b Preparing applications to run on a cluster module (3 hours)
H.1.c Tuning HPC applications (3 hours)
H.1.e Tips for porting to 64-bit (Intel Processors) (1.5 hours)
H.1.a Introduction to High Performance Cluster computing module (1 hour)
Objectives:
- Introduce basic concepts of cluster computing, evolution of parallel processing architectures
- Describe hardware and software components of a cluster
- Applications and usage models: Fine-Grained, Coarse-Grained, Embarrassingly Parallel Applications
Objectives:
- Use key compiler optimization switches
- Link with standard libraries: BLAS, LAPACK, FFTW, etc
- Link with MPI libraries
- Creating PBSpro job submission script
- Running large number of serial (non-MPI) jobs
- Running MPI jobs
- Running heterogeneous applications supporting MPI and OpenMP (ppn)
Agenda:
- Compiler Switches
- General Fortran & C++ switches
- Optimized Mathematic Libraries
- Introduction of OpenMP
- MPI libraries
- Job scheduling system
- Running the jobs HOWTOs
- Hands-on
Objectives:
- Understand and identify bottlenecks
- Apply tuning methodologies
Agenda:
- Application efficiency: scaling and tuning concepts
- Monitoring application performance (? – Darwin)
- Overview of parallel algorithms
- Multithreaded Programming Methodology
- MPI tuning
Objectives:
- Understand 64-bit porting concepts and issues
Agenda:
- Port applications to 64-bit
- Fighting copmpiler compatibility / compliance issues
- MPI compliance issues
- Preparing applications to run on a cluster module (3 hours)
- Tuning HPC applications module (3 hours)
- Debugging HPC applications module (2 hours)
- Porting tips to 64-bit Intel processors module (1.5 hours)
