Supercomputing Networking Research Education Ohio Supercomputer Center Site Map Staff Directory Support

Performance Tuning Techniques

For current training offerings and registration information please visit https://armstrong.osc.edu/events/upcoming.php

Description

This two-day course demonstrates several techniques for improving the performance of applications on multicore and cluster systems, such as OSC's Glenn Opteron cluster. These techniques involve taking advantage of features common to most modern microprocessors, including multi-level caches and multiple pipelined functional units, as well as parallelism within and across nodes.

Topics covered in the course will include:

Day One: Overview and Single-Processor Performance

  • Overview of HPC Architectures
    • OSC Glenn system o Some terminology
    • Practical, simple tips for improved performance on Glenn
  • Single-processor performance measurement and analysis tools
    • Timing
    • Compiler reports
    • Profiling
    • Hardware performance counters
  • Processor and memory architecture
    • Processor architecture features
    • Hierarchical memory and caching
  • Single-processor performance tuning techniques
    • Inlining
    • Loop Optimization
    • Memory Optimization
    • Floating point behavior
    • Optimized math libraries

Day Two: Multicore and Parallel Performance

  • Parallel performance measurement and analysis tools
    • Timing o Profiling
  • Multithreaded performance
    • Threaded programming interfaces
    • Common threaded performance bottlenecks
  • Message passing performance
    • Message passing programming interfaces
    • Common message passing performance bottlenecks
    • Hybrid MPI / OpenMP

Prerequisites

Familiarity with UNIX/Linux and either Fortran 90 or C/C++ is preferred. Knowledge of a parallel programming method (eg. MPI or OpenMP) is helpful but not required.

Target Audience

Those interested in improving the performance of their applications on clusters and/or multicore systems, including PCs and workstations as well as supercomputers.

Method of Delivery

Lecture and hands-on laboratory

Handouts

Performance Tuning Techniques for HPC (pdf presentation slides)