High Performance Computing High Performance Computing University of Southampton

Introduction to High Performance Computing

This page is a collection of resources related to lectures that were held in the group to introduce new postgraduates to the skills required for professional high performance computing.

Text Editors

Efficient editor use, whether Vi, Microemacs, or Emacs, is vital. Basic techniques will be introduced, as well as more advanced usage such as user customisations, and remote ftp handling.

Emacs notes

Computer Packages and Libraries

An introduction to features of packages (including Matlab, and Maple) and library routines, such as the NAG libraries and other (parallel) numerical libraries: (P)ESSL, (Sca)LAPACK.

Package Notes

Numerical Analysis I

Some basic aspects of numerical computation, including errors, interpolation, polynomials, integration, and some of the pitfalls: badly-conditioned problems and poor scaling.

Numerical Analysis I Notes

Project Maintenance and Portability

Understanding project maintenance, focusing on file backups, data integrity and version control and issues of portability and efficiency across platforms.

Optimisation and Portability Notes

Numerical Analysis II

Advanced numerical methods, such as solution of ordinary and partial differential equations, and optimization methods (such as genetic algorithms).

Numerical Analysis II Notes

Parallel Numerical Methods

A number of specific numerical problems arise in parallel programming, including use of halos in computation, parallel linear algebra, long range forces, and random number generation.

Parallel Numerical Methods Notes

Introduction to C

An introduction to efficient sequential programming using C.

C notes I