MATH-454 / 4 crédits

Enseignant: Antolin Sanchez Pablo

Langue: Anglais


Summary

This course provides insight into a broad variety of High Performance Computing (HPC) concepts and the majority of modern HPC architectures. Moreover, the student will learn to have a feeling about what architectures are suited for several types of algorithms and learn to program for them.

Content

HPC overview:

  • Today's HPC: Beowulf-style clusters, massively parallel architectures, hybrid computing, accelerators
  • HPC history and background
  • HPC benchmarks explained
  • Multicore systems
  • Scaling

Writing HPC code:Shared memory parallelism with OpenMP

  • Distributed memory parallelism with MPI
  • Hybrid programming with OpenMP and MPI
  • GPGPU primer
  • Profiling

Keywords

HPC, Parallelization, MPI, GPU

 

Learning Prerequisites

Required courses

  • Analysis, bachelor level
  • Numerical analysis for engineers
  • Matrix algebra

Recommended courses

  • Programming concepts in scientific computing

Learning Outcomes

By the end of the course, the student must be able to:

  • Classify the types of HPC architecture
  • Identify codes suited for parallelization
  • Apply the most common parallelization techniques
  • Implement algorithms in parallel
  • Investigate the performance of parallel code
  • Argue about the differences in performance between theory and practice
  • Optimize the usage of hardware and software resources depending on the type of algorithm to parallelize

Transversal skills

  • Set objectives and design an action plan to reach those objectives.
  • Communicate effectively with professionals from other disciplines.
  • Access and evaluate appropriate sources of information.
  • Write a scientific or technical report.

Teaching methods

Lectures, exercises, project work

Expected student activities

Attendance to lectures, completing exercises, writing a project

 

Assessment methods

Graded exercises, final project, and oral defense of project

Supervision

Office hours Yes
Assistants Yes
Forum Yes

Resources

Moodle Link

Dans les plans d'études

  • Semestre: Printemps
  • Forme de l'examen: Oral (session d'été)
  • Matière examinée: Parallel and high-performance computing
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Exercices: 1 Heure(s) hebdo x 14 semaines
  • TP: 1 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Printemps
  • Forme de l'examen: Oral (session d'été)
  • Matière examinée: Parallel and high-performance computing
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Exercices: 1 Heure(s) hebdo x 14 semaines
  • TP: 1 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Printemps
  • Forme de l'examen: Oral (session d'été)
  • Matière examinée: Parallel and high-performance computing
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Exercices: 1 Heure(s) hebdo x 14 semaines
  • TP: 1 Heure(s) hebdo x 14 semaines
  • Type: optionnel

Semaine de référence

Jeudi, 13h - 15h: Cours DIA003

Jeudi, 15h - 16h: Exercice, TP DIA003

Jeudi, 16h - 17h: Exercice, TP DIA003

Cours connexes

Résultats de graphsearch.epfl.ch.