T8.GT02 - Portabilité des codes de calcul sur des machines de plus en plus puissantes

DATE / LIEU:

  • durée: 1h30
  • Salle et date : Salle le :

agenda

ANIMATEURS:

  • Pierre Gay

FORMAT:

  • Présentations de synthèse
  • Retours d'expériences de 10-15 minutes.
  • Table ronde / discussions

PAD COLLABORATIF:

https://etherpad.in2p3.fr/p/JDEV2015.T8.GT02

Vous pouvez vous servir de ce pad collaboratif pour y inscrire vos commentaires, un résumé / restitution en sera fait qui sera inclus dans le compte rendu du GT.

  • Préalablement au jour J: L'idée est de faire remonter les attentes et les questionnements.
  • Jour J: Prendre des notes et des réflexions collaborativement.

Retours d'EXpérience

Thèmes ou Discussion

Passer à l'échelle supérieure est une piste pour ouvrir de nouvelles perspectives de recherche. Que ce soit pour l'algorithmique elle-même ou pour l'exploration de modèles plus ambitieux, utiliser de plus grandes de ressources de calcul est souvent un passage obligé. Heureusement, les ressources disponibles sont toujours plus puissantes. Cependant, si paralléliser un code est devenu plus accessible ou au moins plus courant, ce n'est que le début de l'histoire (des ennuis). En effet, passer d'un ordre de grandeur à l'autre est rarement indolore: que ce soit pour diminuer le temps de restitution ou augmenter la taille des problèmes, en sautant de 10 à 100, à 1000 processeurs ou plus, on se heurtera souvent à une explosion des communications, des entrées/sorties, etc… L'objectif de ce groupe de travail est de recenser ces écueils et d'échanger autour des solutions, des pratiques utilisées pour les contourner.

Compte Rendu

Présentation: jdev-2015-t8-gt02.pdf

__Les débats ont abordé les points suivants:

Les sujets importants pour le passage à l'échelle:

  • reproductibilité
    • La norme IEEE 754 concerne le calcul “déterministe” avec des flottants; selon le compilateur, il faudra activer le respect de la norme (ce qui peut désactiver certaines optimisations).
    • Les bibliothèques GNU MPFR et GNU MPC implantent la norme, mais ont un coût important (comme elles sont écrites à la base pour la multiprécision).
    • Un code dont l'exécution dépend du nombre de coeurs disponibles peut devenir non déterministe; il peut être intéressant de garder une version qui fait les mêmes calculs que la version sérielle.
  • librairies d'I/O
    • à partir d'un grand nombre de cœurs, manipuler plusieurs milliers de fichiers peut commencer à être compliqué, dans ce cas passer à des librairies spécifiques (adios par ex)
  • techniques de parallélisation
    • OpenMP vs. MPI, parfois plus simple en MPI pour maintenir le code (plus clair et délimité)
    • MPI peut demander plus d'efforts au départ, mais passera plus facilement à l'échelle (par exemple quand on veut calculer sur plusieurs machines distinctes)
    • Dans certains cas, il sera intéressant d'utiliser des runtimes: StarPU, XKaapi
  • debuggers, profilers
    • A partir d'une certaine échelle, les débuggers et les profilers dont-ils toujours capables d'aider à la résolutino des problèmes?
 
jdev2015/t8.gt02.txt · Dernière modification: 2015/07/10 15:09 par pierre.gay@u-bordeaux.fr
 
Recent changes RSS feed Powered by PHP Powered by Pxxo Driven by DokuWiki