Ecole "optimisation"

du 7 au 11 octobre 2013 à la Maison de la Simulation

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 octobre 2013 à la Maison de la Simulation (http://www.maisondelasimulation.fr/Phocea/Page/index.php?id=62).

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, nous aurons

- 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.

Les inscriptions sont gratuites mais obligatoires. Merci de vous inscrire à l’adresse suivante
http://calcul.math.cnrs.fr/C3I/index.php?sid=98787&lang=fr

Un programme détaillé sera prochainement disponible avec la liste des intervenants.

Comité d’organisation

- Romaric David (Université de Strasbourg)
- Loïc Gouarin (Laboratoire de Mathématiques d’Orsay)
- Michel Kern (INRIA)
- Anne-Sophie Mouronval (Ecole Centrale Paris)
- Laurent Series (Ecole Centrale Paris)

Programme détaillé

Lundi 7 octobre 2013

Mardi 8 octobre 2013

Mercredi 9 octobre 2013

Jeudi 10 octobre 2013

Vendredi 11 octobre 2013


Lundi 7 octobre 2013


10h-10h30 : Accueil

10h30-12h30 : Introduction

    Intervenant : William Jalby (Université Versailles St Quentin)

supports

12h30-14h : Repas

14h-15h30 : Optimisation de base et vectorisation

    Intervenant : Romaric David

supports

15h30-16h : Pause

16h-17h30 : Optimisation de base et vectorisation

    Intervenant : Romaric David


Mardi 8 octobre 2013


9h-10h30 : Caches

    Intervenant : David Büttner (TUM)

supports

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

10h30-11h : Pause

11h-12h30 : Caches

    Intervenant : David Büttner (TUM)

12h30-14h : Repas

14h-15h30 : Benchmark

    Intervenant : Laurent Gatineau (NEC)

supports

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

15h30-16h : Pause

16h-17h30 : Benchmark

    Intervenant : Laurent Gatineau (NEC)


Mercredi 9 octobre 2013


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

    Intervenant : Florian Janetzko (Juelich Supercomputing Centre)

supports

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.

10h30-11h : Pause

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

    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.

15h30-16h : Pause

16h-17h30 : Introduction to Performance Analysis

    Intervenant : Florian Janetzko (Juelich Supercomputing Centre)


Jeudi 10 octobre 2013


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

    Intervenant : Julien Demouth (Nvidia)

supports

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.

10h30-11h : Pause

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

    Intervenant : Julien Demouth (Nvidia)

12h30-14h : Repas

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

    Intervenant : Philippe Wautelet (IDRIS/CNRS)

supports

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.

15h30-16h : Pause

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

    Intervenant : Philippe Wautelet (IDRIS/CNRS)


Vendredi 11 octobre 2013


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.

10h30-11h : Pause

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

    Intervenant : Philippe Wautelet (IDRIS/CNRS)


titre documents joints

22 octobre 2013
info document : Zip
11.1 Mo

22 octobre 2013
info document : PDF
1.9 Mo

17 octobre 2013
info document : PDF
758.3 ko

17 octobre 2013
info document : TGZ
5.9 Mo

17 octobre 2013
info document : PDF
1.7 Mo

17 octobre 2013
info document : PDF
482.8 ko

17 octobre 2013
info document : PDF
1.5 Mo

Accueil | Contact | Plan du site | | Statistiques du site | Visiteurs : 2081 / 404168

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