High Performance Computing II
General aims of the course
The aim of the course is to provide computational scientists with knowledge and practical skills that are necessary to actively participate in the development of parallel and high-performance software within their respective research fields. The course is open to researchers from any discipline with basic knowledge of parallel computer architectures, parallel programming models, basic linear algebra, and numerical methods.
Learning outcomes
After completing the course you should be able to…
- …describe and evaluate various data decomposition and load balancing techniques.
- …describe common parallel algorithms for various problems.
- …use software libraries in HPC and show familiarity with some state-of-the-art HPC software libraries and tools.
- …write structured parallel programs based on parallel programming patterns.
- …analyze the computational patterns and data flows in algorithms used in your research field.
Course contents
The course focuses on three themes:
- General HPC techniques,
includes such things as weak and strong scalability, data distribution and load balancing techniques, parallel programming patterns, and explicit and recursive blocking. - Fundamental parallel algorithms,
covers algorithms from a variety of different areas such as dense and sparse linear algebra (systems of linear equations, eigenvalue problems), problems on graphs (partitioning, clustering), N-body simulations (range-limited methods, fast methods), and pseudo-random number generation. - HPC library software and tools,
gives an introduction to state-of-the-art HPC software libraries. Examples include libraries for dense linear algebra (BLAS, LAPACK, ScaLAPACK, PLASMA), sparse linear algebra (PETSc, SuiteSparse), fast transforms (FFTW), graph problems (Metis), and random number generation (SPRNG). Sample tools are profilers, tracers, and task graph visualization software.
Prerequisites
Basic understanding of parallel computer architectures and practical skills in parallel programming using OpenMP and MPI as well as introductory linear algebra and numerical methods.
Course schedule
to be updated
- Week X (preparatory work at home)
- Week Y (lectures and labs in Umeå)
- Week Z (homework)
Examination
A number of carefully documented programming assignments including an individually tailored HPC project.
Course responsible
- Mikael Rännar: mikael.rannar@hpc2n.umu.se
Registration
Deadline for application: to be announced
application form will be added here
contact-form-7 id=”1280″ title=”2015_VT_Application: HPC_II”