Sometimes, effectively using the high performance computing facilities should be viewed as an integral part of one's research. Investing time and effort at an early stage when using HPC facilities and tools will greatly help an individual increase productivity.

Below are some topics for researchers who will be developing their own computer code. Links give access to advice about debugging, profiling and optimising sequential code, and parallelisation strategies. The parallel method adopted will depend on the type of code being developed by the researcher and the level of performance being sought and amount of data being processed. The most difficult parallel method is MPI, which should be investigated by researchers who are seeking the greatest performance for their codes.

Scientific Software Engineering by Helmut Katzgraber, ETH Zurich
Debugging, Profiling and Optimisation by Wadud Miah, Formerly of UEA
Debugging Workshop Notes and GDB Reference
Profiling Workshop Notes and GProf Reference
Optimisation Workshop Notes
Introduction to Parallel Computing
Scientific Parallel Programming by Wadud Miah, Formerly of UEA
Parallelising Scientific Codes using OpenMP by Wadud Miah, Formerly of UEA
OpenMP Workshop Notes
Full OpenMP API Specification by the OpenMP Architecture Review Board
OpenMP C/C++ reference card
OpenMP Fortran reference card
Parallelising Scientific Codes using Graphical Processing Units (GPUs) in OpenACC by Wadud Miah, Formerly of UEA
GPU Workshop Notes
OpenACC Reference Card
C CUDA Reference Card
Fortran CUDA Reference Card
Parallelising Scientific Codes using MPI by Wadud Miah, Formerly of UEA
MPI Workshop Notes
Full MPI API Specification by the MPI forum

Courses on HPC are provided by other UK higher education institutions and can be found by searching the web.