École Optimisation 2014

du 7 au 11 Juillet 2014 à l’Université de Strasbourg

Face au besoin croissant de puissance de calcul et à des applications numériques toujours plus complexes, s’exécutant sur des architectures parallèles en constante évolution (many-coeurs, GPU, machines hybrides, ...), il est nécessaire de pouvoir mieux contrôler l’efficacité et la performance de nos applications.

Pour cela, le Groupe Calcul et la Maison de la Simulation organisent, dans le cadre d’Equip@meso, une école sur l’optimisation qui se déroulera du 7 au 11 juillet 2014 à l’Espe de l’Université de Strasbourg, qui héberge le méso-centre de l’Université.

La formation a eu lieu à l’Espe Alsace, 141 Avenue de Colmar, 67100 Strasbourg. Accès : Tram A/E, Arrêt "Krimmeri/Stade de la Meinau".

Il s’agissait de la 2ème édition de cette école, qui a rencontré un vif succès en 2013.

L’enjeu principal de cette école est d’être capable :

  • d’identifier les points critiques d’une application dans son environnement d’exécution ;
  • à l’aide d’outils adaptés, améliorer son fonctionnement et son utilisation.

En effet, la complexité des outils d’analyse suit celle des architectures et des applications, c’est pourquoi il est nécessaire de permettre à nos communautés d’acquérir rapidement les compétences nécessaires, en lien avec les équipes développant ces outils.

Au programme :

  • une introduction aux architectures actuelles et aux évolutions futures,
  • un cours sur les optimisations de base et la vectorisation,
  • un cours sur une bonne utilisation des caches,
  • un cours sur le benchmarking,
  • un cours sur les optimisations parallèles,
  • un cours sur l’optimisation des entrées-sorties,
  • un cours sur l’optimisation d’applications sur cartes graphiques.

Il n’y a pas de prérequis particuliers pour suivre cette école si ce n’est la connaissance d’un langage bas niveau (C/C++ ou Fortran) et les connaissances de base des systèmes Unix.

Comité d’organisation

  • Romaric David (Université de Strasbourg)
  • Loïc Gouarin (Laboratoire de Mathématiques d’Orsay)
  • Michel Kern (INRIA)

Programme détaillé

Lundi 7 juillet 2014

Mardi 8 juillet 2014

Mercredi 9 juillet 2014

Jeudi 10 juillet 2014

Vendredi 11 juillet 2014


Lundi 7 juillet 2014


10h-10h30 : Accueil

10h30-12h30 : Introduction

    Intervenant : Andres S. CHARIF-RUBIAL (Université Versailles St Quentin)

Support de présentation

PDF - 1.5 Mo

Vidéo

12h30-14h : Repas

14h-15h30 : Optimisation de base et vectorisation

    Intervenant : Romaric David

15h30-16h : Pause

16h-17h30 : Optimisation de base et vectorisation

    Intervenant : Romaric David

Support de présentation

PDF - 466 ko

Fichiers des TP

Vidéo


Mardi 8 juillet 2014


9h-10h30 : Caches

    Intervenant : Josef Weidendorfer (TUM)

Outline : Part 1

  • The Memory Hierarchy
  • Caches : Why & How do they work ?
  • Bad Memory Access Patterns
  • How to not exploit Caches
  • Cache Optimization Strategies
  • How to exploit Caches even better

Outline : Part 2

  • Cache Analysis
  • Measuring on real Hardware vs. Simulation
  • Cache Analysis Tools
  • Case Studies
  • Hands-on

Vidéo

10h30-11h : Pause

11h-12h30 : Caches

    Intervenant : Josef Weidendorfer (TUM)

Vidéo

Support de présentation

PDF - 1 Mo

Fichiers des TP

12h30-14h : Repas

14h-15h30 : Benchmark

    Intervenant : Laurent Gatineau (NEC)

1. Introduction

  • 1.1 Définitions
  • 1.2 Objectifs des benchmarks
  • 1.3 Les différentes phases d’un benchmark

2. Benchmarks synthétiques et éléments d’architecture

  • 2.1 Processeur
  • 2.2 Mémoire et cache
  • 2.3 Réseau rapide
  • 2.4 Système disques
  • 2.5 Accélérateur

3. Benchmark applicatif

  • 3.1 Portage et validation numérique
  • 3.2 Classification de l’application
  • 3.3 Profiling (CPU, MPI)
  • 3.4 Projection des performances

4. Travaux pratiques

  • Contenu ouvert en fonction des utilisateurs :
    • prise en main des benchmarks synthétiques
    • classification / profiling d’un code utilisateur

Vidéo

15h30-16h : Pause

16h-17h30 : Benchmark

Vidéo

Support de présentation

PDF - 3.8 Mo

    Intervenant : Laurent Gatineau (NEC)


Mercredi 9 juillet 2014


9h-10h30 : Message-Passing Interface - Selected Topics and Best Practices

    Intervenant : Florian Janetzko (Juelich Supercomputing Centre)

The Message-Passing Interface (MPI) is a widely-used standard library
for programming parallel applications using the distributed-memory
model. In the first part of this talk we will give a short overview over
concepts and properties of modern HPC hardware architectures as well as
basic programming concepts. A brief introduction into a design strategy
for parallel algorithms is presented.
The focus of the second part will be on the Message-Passing interface.
After a short overview over general MPI properties and features we will
present selected MPI topics including Derived Datatypes, MPI_Info
objects and One-sided Communication and discuss best practices for their
usage.

Vidéo

10h30-11h : Pause

11h-12h30 : Message-Passing Interface - Selected Topics and Best Practices

Vidéo

Support de présentation

PDF - 11.1 Mo

    Intervenant : Florian Janetzko (Juelich Supercomputing Centre)

12h30-14h : Repas

14h-15h30 : Introduction to Performance Analysis

    Intervenant : Florian Janetzko (Juelich Supercomputing Centre)

The complexity of modern High-Performance-Computing systems impose great
challenges on running parallel applications efficiently on them.
Performance analysis is therefore a key issue to identify bottlenecks
and efficiency problems in HPC applications in order to improve and
optimize the performance of these applications.
We start with an overview of different performance problems which
frequently occur in parallel applications and give an introductions to
the concepts of performance analysis. In the second part we will discuss
selected performance analysis tools in more detail and show how to use
them in order to identify bottlenecks.

Vidéo

15h30-16h : Pause

16h-17h30 : Introduction to Performance Analysis

Support de présentation

PDF - 14.1 Mo

    Intervenant : Florian Janetzko (Juelich Supercomputing Centre)

Vidéo


Jeudi 10 juillet 2014


9h-10h30 : Optimisation de noyaux CUDA avec les outils de « profiling » Nvidia.

    Intervenant : Julien Demouth (Nvidia)

Lors de cette session nous présenterons une méthode pour optimiser des noyaux GPU écrits en CUDA et nous la mettrons en pratique sur un cas concret. Pour améliorer les performances de notre application, nous utiliserons les outils de « profiling » : Nsight et Nvprof.

Vidéo

10h30-11h : Pause

11h-12h30 : Optimisation de noyaux CUDA avec les outils de « profiling » Nvidia.

    Intervenant : Julien Demouth (Nvidia)

Vidéo

12h30-14h : Repas

14h-15h30 : Introduction aux entrées-sorties parallèles

    Intervenant : Philippe Wautelet (IDRIS/CNRS)

Les supercalculateurs sont de plus en plus massivement parallèles. Dans ce
contexte, l’importance des entrées-sorties devient de plus en plus cruciale.
Le but de cette introduction est de présenter les différentes approches
existantes pour réaliser des entrées-sorties performantes, leurs avantages et
inconvénients, ainsi que les principes de fonctionnement des systèmes de
fichiers parallèles. Des travaux pratiques seront réalisés pour mettre en
oeuvre les concepts introduits lors de cette présentation.

Support de présentation

PDF - 363.3 ko

Vidéo

15h30-16h : Pause

16h-17h30 : Introduction aux entrées-sorties parallèles

    Intervenant : Philippe Wautelet (IDRIS/CNRS)

Support de présentation

PDF - 1.8 Mo

(Pas de vidéo disponible)


Vendredi 11 juillet 2014


9h-10h30 : Expériences d’entrées-sorties sur architectures massivement parallèles

    Intervenant : Philippe Wautelet (IDRIS/CNRS)

Les performances des systèmes d’entrées-sorties de plusieurs supercalculateurs
ont été évaluées à l’aide d’une vraie application scientifique. Les résultats
obtenus et les problèmes rencontrés seront exposés.

Vidéo

10h30-11h : Pause

11h-12h30 : Expériences d’entrées-sorties sur architectures massivement parallèles

    Intervenant : Philippe Wautelet (IDRIS/CNRS)

Support de présentation

PDF - 1.2 Mo

Vidéo


titre documents joints

8 juillet 2014
info document : PDF
1.8 Mo

8 juillet 2014
info document : PDF
363.3 ko

8 juillet 2014
info document : PDF
1.2 Mo

Accueil | Contact | Plan du site | | Statistiques du site | Visiteurs : 2668 / 404593

Suivre la vie du site fr  Suivre la vie du site Présentation du Groupe Calcul  Suivre la vie du site Formations / Ecoles   ?

Site réalisé avec SPIP 3.0.17 + AHUNTSIC

Creative Commons License