Contents:
[
slideshow
]
Optimisation, HTC and HPC/Parallel
What is optimisation?
What makes my program run slowly?
Introduction to Memory: Part 1
Introduction to Memory: Part 2
Should I optimise my program?
Optimisation: Ways and Means
Optimisation: Ways and Means
Compiler Options
Use Libraries
Optimising memory use
Other Considerations
Profiling
High Throughput Computing
High Throughput Computing
HTC Overview
SGE Arrays
Condor
High Performance/Parallel Computing
High Performance/Parallel Computing
Parallel Computing
Parallel Computing Efficiency, Help
Shared Memory Parallelism
OpenMP
OpenMP Issues
An OpenMP Example in C
An OpenMP Example in C: Notes
An OpenMP Example in Fortran
An OpenMP Example in Fortran: Notes
MPI 1/2
MPI 2/2
Hardware for MPI
An MPI Example in C
An MPI Example in Fortran
About this document
Optimisation, Distribution and Parallelisation
OpenMP
A method to parallelise for shared memory
Launches multiple threads in specified sections of the code
Compiler directives control parallel regions
Easy to add to existing serial code
To parallelise loops:
Fortran:
!$omp do
C:
#pragma omp for
Env var
OMP_NUM_THREADS
controls number of threads
Intel and gnu compilers support OpenMP
ifort -openmp gfortran -fopenmp icc -openmp gcc -fopenmp
...previous
up (conts)
next...