SGI

The Trusted Leader in High Performance Computing

 

High Performance Computing Optimization Training

Course Length: Price:

Current Schedule:
Custom, based on negotiated topics
$13,200 (up to 12 students)

This course is available ON DEMAND - please contact us about scheduling training.

To register for this course, please Contact Us
To see a list of all courses, please go to the Complete Schedule

The goal of this training is to provide knowledge on major topics to achieve program performance.

How to optimize a program to obtain the best performance, and parallel programming - how to port a program to a parallel computer to reduce the execution time by dividing the work among several threads/processes.

The course will be customized for the customer based on their system configuration and desired topics to be covered. Class length will be based on the negotiated topics list and will not exceed 4.5 days.

Potential Topics

  • Parallel Computer Architectures
  • Compilers and Monitoring Tools
  • Program Analysis and Optimization
  • Performance Tuning
  • Shared Memory Parallel Programming using OpenMP
  • Parallel Programming in Distributed Memory using MPI

Potential Objectives
Upon completion of this course, the student should be able to:

  • Understand basic parallel computer architectures
  • Use system tools to identify performance problems
  • Evaluate program performance
  • Better use compiler/mathematical libraries capabilities
  • Understand basic optimization techniques
  • Recognize the advantages and pitfalls of parallel processing
  • Write multithreaded programs using OpenMP
  • Write multiprocessor programs using Message Passing Interface - MPI

Target Audience

  • This course is intended to programmers who work currently with C and Fortran, want to be able to recognize performance problems in their application, and to improve the execution time by program optimization and parallel execution.

Prerequisites

  • Students should have C or Fortran programming experience, and know how to perform basic Linux/Unix commands (cp, ls, make etc)