Description

Cette formation avait pour but d’aider les personnes pratiquant le calcul scientifique dans leur activité quotidienne à mieux utiliser les outils numériques et informatiques existants pour développer et optimiser leurs codes de calcul.

Le but était de détailler de manière théorique puis pratique le lien entre les méthodes numériques, les algorithmes, l’architecture des machines et la programmation. L’idée n'était pas d’apprendre un langage de programmation ou d’apprendre à utiliser une bibliothèque de calcul mais de savoir trouver ou implémenter les bons outils en fonction du problème numérique à traiter.

Programme

lundi 29/09

09:00 10:30 Télécharger le support

Architecture des ordinateurs

Françoise Berthoud, Violaine Louvet, Françoise Roch

  • Architecture machine
  • Problème des accès mémoire (séquentiel, aléatoire)
  • Cache
  • Processus
  • Nouveaux processeurs
  • Nouvelles architectures
10:30 12:00 Télécharger le support

Mécanismes automatiques d'optimisation des bibliothèques

Thierry Dumont

Comment sont optimisées les librairies de type ATLAS, FFTW, ...
14:00 16:00 Télécharger le support

Systèmes Linéaires I

Pierre Ramet

  • A.L. dense,
  • algorithmes de factorisation,
  • (Sca)LAPACK,
  • structures de données par bloc,
  • parallélisation ...
16:00 18:00 Télécharger le support

Systèmes Linéaires II

Abdou Guermouche

  • A.L. creuse,
  • méthodes directes (multifrontale, supernodale),
  • pb de numérotation,
  • les principales étapes,
  • parallélisation ...

mardi 30/09

09:00 12:00 Télécharger le support

Systèmes linéaires III

Pascal Hénon

  • A.L. creuse,
  • méthodes itératives,
  • introduction aux méthodes de type Krylov,
  • factorisations incomplètes (ILU(k), ILU(t)),
  • parallélisation ...
14:00 17:30 Télécharger le support

Méthodes de type multigrille

Thierry Dumont

Multigrilles géométriques et algébriques.

mercredi 01/10

09:00 12:00 Télécharger le support

Compilation I

Romaric David

  • Rappels sur le compilateur.
  • Optimisations réalisées option compil / Optim (ex : sse)
  • Les différentes familles de compilateurs (Libres GNU, Commerciaux Intel + Portland)
  • Options de compilation fréquemment utilisées
  • Utilisation des directives de compilation
14:00 17:30 Télécharger le support

Compilation II

Romaric David

  • Rappels sur la compilation séparée
  • Construction des lib dynamiques et statiques
  • libtool
  • Editions de liens à la compilation
  • Que fait le système lors de l’exécution d’un programme ? Variables influant la recherche de lib. à l’exécution.
  • Configuration système

jeudi 02/10

09:00 10:30 Télécharger le support

Introduction générale sur les langages utilisés en calcul scientifique

Romaric David

La problématique de l'interfaçage de ces langages.
10:30 12:00 Télécharger le support

C++ appliqué au calcul scientifique

Stéphane Labbé

Trucs et astuces, à faire et à ne pas faire. Les problèmes de pointeurs, les recettes pour les numériciens.
14:00 16:30 Télécharger le support

Fortran2003

Laurence Viry

Les nouveautés de la norme 2003 pour le calcul scientifique.
16:30 18:00 Télécharger le support

Python

Romaric David

Utilisation en calcul et interfaçage avec d'autres langages.

vendredi 03/10

09:00 10:30 Télécharger le support

Les outils standards de construction de programmes

Jean-Marc Muller

Makefile, autotools, soncs, cmake, ...
10:30 12:00 Télécharger le support

Les outils de gestion de développement

Jean-Marc Muller

AGL (Ateliers de Génie Logiciels), gestions de versioni, ...

Intervenants

  • Françoise Berthoud
  • Romaric Davic
  • Thierry Dumont
  • Abdou Guermouche
  • Pascal Hénon
  • Laurence Viry
  • Stéphane Labbé
  • Violaine Louvet
  • Jean-Marc Muller
  • Pierre Ramet
  • Françoise Roch

Responsables scientifiques

  • Thierry Dumont
  • Violaine Louvet