Optimisation Techniques @ NUS I

This workshop provides a high-level overview of the important concepts to consider when attempting to improve the performance of compute-intensive applications. It will provide information on the underlying hardware, the system software and provide advice on available techniques for performance optimisation. The concepts will be demonstrated with hands-on examples.

20 February 2019

CIT Auditorium Information Technology, Level 2 2 Engineering Drive 4 National University of Singapore Singapore 117584

Overview

This workshop provides a high-level overview of the important concepts to consider when attempting to improve the performance of compute-intensive applications. It will provide information on the underlying hardware, the system software and provide advice on available techniques for performance optimisation. The concepts will be demonstrated with hands-on examples.

  • Introduction
    • Strategies and motivations for performance optimisation
    • Performance characteristics of common application types
  • Concepts related to parallelism and application scaling
    • Vectorization, Threading, Message Passing
    • Strong scaling and weak scaling
  • Compilers & Libraries
    • Available compilers and performance libraries
    • Common compiler options
  • Introduction to parallel filesystems
    • Overview of GPFS and Lustre
    • Relative performance characteristics
  • Tuning of MPI applications
  • A valid user account on NSCC system, ASPIRE1
  • Laptop for use in hands-on sessions
  • Familiarity with topics covered by Introductory Class (connecting to system, editing files in Linux and submitting jobs)

After this course a user should have a basic understanding of the factors which limit the performance of compute-intensive applications and knowledge of the techniques which can be used to improve that performance.