Difference between revisions of "Code Optimisation and Performance Tuning (November 2015)"

From SNIC Documentation
Jump to: navigation, search
(Created page with "{{training event info |description=Advanced Programming techniques for performance improvement of numerical simulation codes |fields=Computational Science |event type=Course |loc...")
 
(Course overview)
Line 9: Line 9:
  
 
== Course overview ==
 
== Course overview ==
Available in week 24/2015
+
 
 +
Numerical algorithms have to be implemented very efficiently in order to meet their performance requirements. Therefore, knowledge about performance optimisation techniques becomes increasingly important also for application developers who could trust on compilers and other software tools in the past to unleash the computational power of their systems. This training provides background and applicable knowledge for the development of efficient numerical simulation programs that achieve high performance on recent computer systems.
 +
 
 +
Starting from current computer architectures, methods for the performance tuning of serial programs will be discussed. The efficient usage of memory hierarchies and arithmetic logic units are central content for it: caches, loop optimisations, vectorization and other implementation techniques.
 +
 
 +
Further topics about optimisation of parallel programs comprise the use of OpenMP on shared memory computers as well as MPI, the Message-Passing Interface, for distributed memory computers.
 +
 
 +
=== Prerequisite knowledge ===
 +
 
 +
* Programming in C, C++ or Fortran
 +
* Knowledge of OpenMP and MPI for part of the training devoted to parallel programs
  
 
== Course web page and registration ==
 
== Course web page and registration ==

Revision as of 15:37, 8 June 2015

Name Code Optimisation and Performance Tuning (November 2015)
Description Advanced Programming techniques for performance improvement of numerical simulation codes
Type of event Course
Location Stockholm (PDC)
Start date 2015-11-26
End date 2015-11-27

Course overview

Numerical algorithms have to be implemented very efficiently in order to meet their performance requirements. Therefore, knowledge about performance optimisation techniques becomes increasingly important also for application developers who could trust on compilers and other software tools in the past to unleash the computational power of their systems. This training provides background and applicable knowledge for the development of efficient numerical simulation programs that achieve high performance on recent computer systems.

Starting from current computer architectures, methods for the performance tuning of serial programs will be discussed. The efficient usage of memory hierarchies and arithmetic logic units are central content for it: caches, loop optimisations, vectorization and other implementation techniques.

Further topics about optimisation of parallel programs comprise the use of OpenMP on shared memory computers as well as MPI, the Message-Passing Interface, for distributed memory computers.

Prerequisite knowledge

  • Programming in C, C++ or Fortran
  • Knowledge of OpenMP and MPI for part of the training devoted to parallel programs

Course web page and registration

Available in week 24/2015