Fiche logiciel validé
  • Création ou MAJ importante : 06/05/08
  • Correction mineure : 06/05/08
Auteur :
  • Anthony Thevenin - CERFACS ( )
Relecteur(s) :
Responsable thématique :
Mots-clés

PALM (Projet d'Assimilation par Logiciel Multiméthode) : coupleur dynamique parallèle

  • Site web
  • Système : UNIX-like
  • Téléchargement
  • Version évaluée : 2.5.1
  • Langue(s) de l'interface : anglais
  • Licence : Autre
  • Les organismes de recherche, français et étrangers, qui en font la demande peuvent obtenir les programmes sources du logiciel moyennant la signature d’une convention avec le CERFACS, convention garantissant le seul usage “recherche” et donc à l’exclusion de toute utilisation commerciale. Cette convention permet d’obtenir une copie des programmes sources du logiciel.

Description
Fonctionnalités générales : 

PALM est un coupleur très largement utilisé par la communauté scientifique dans des domaines très différents comme l’assimilation de données le couplage de modèles parallèles, l’emboitement de modèles. C’est un coupleur dynamique (un composant peut être lancé au cours de la simulation et rendre ses ressources lorsqu’il a terminé) et parallèle (PALM attribue le nombre de processus nécessaires à chaque unité de calcul et autorise un parallélisme de tâche). Il offre ainsi une très grande souplesse pour essayer différentes tactiques de couplage et équilibrer les charges sur un calculateur.
La programmation des applications PALM se fait au travers d’une interface graphique utilisateur (IHM PrePALM). Dans cette interface, on s’applique dans un premier temps à définir l’algorithme de couplage : nombre de composants, organisation séquentielle ou parallèle, codage des boucles autour des composants, gestion des ressources. Dans un second temps les communications effectives entre les composants sont décrites. Tous les mécanismes de synchronisation, de gestion de la mémoire, inhérents au calcul parallèle sont présents à ce niveau pour programmer des applications fonctionnelles et efficaces.

Autres fonctionnalités: 

Pour optimiser les développements, PALM offre une boîte à outil qui interface les opérations d’algèbre linéaire comme des gradients conjugués pour la minimisation ou toutes les routines de base des librairies mathématiques les plus utilisées (BLAS et LAPACK). Cette boîte à outil s’enrichit peu à peu de fonctions génériques comme l’interpolation spatiale des données. Toutes ces opérations sont accessibles directement via l’interface graphique PrePALM.
PALM offre de plus la possibilité de suivre en temps réel et de manière graphique l’évolution des calculs et l’utilisation des ressources cpu et mémoire.
Le coupleur peut aussi être facilement instrumenté pour calculer les performances globales de l’application parallèle. Des statistiques sur le temps cpu ou elapsed passé à l’exécution des composants, dans les communications, etc, permettent d’optimiser les applications couplées dans leur phase de mise au point.
Il dispose également d’outils de débogage pour visualiser le contenu des champs échangés, rejouer l’application pour voir à quel moment une erreur est survenue.

Interopérabilité: 

Les différents langages compilés (C, C++, Fortran) sont supportés.
PrePALM permet de faire de la lecture / écriture sur des fichiers NetCDF.

Contexte d'utilisation: 

PALM compte maintenant une centaine d’utilisateurs en France et à l’étranger qui se répartissent pour moitié sur des problèmes d’assimilation de données (océanographie, hydrologie, chimie, neutronique ) et pour une autre moitié sur des problème de couplage multi-physique plus classiques (mécanique de fluides et des structures, rayonnement, approche par composants, optimisation de forme, imbrication de modèles,…).

Limitations, difficultés, fonctionnalités importantes non couvertes: 

PALM dispose d’une interface graphique très conviviale, le coupleur a été conçu pour développer un couplage dynamique parallèle de façon intuitive. Cependant, il offre un tel nombre de possibilités et de réglages qu’un nouvel utilisateur a généralement besoin d’une formation pour se familiariser avec les différentes fonctionnalités du coupleur.
La formation de base dure trois jours et se tient régulièrement au CERFACS. Sur demande elle peut être organisée chez les utilisateurs.
Des sessions spécifiques ciblées sur des domaines d’applications précis peuvent être organisées sur demande.

Environnement du logiciel
Plates-formes : 

Linux, UNIX, Super calculateurs

Logiciels connexes: 

CALCIUM (EDF), CAST (INRIA), OPA/NEMO (Mercator-Océan/LOCEAN)

Environnement de développement
Type de structure associée au développement: 

PALM est un coupleur développé par l’équipe Global Change and Climate Modeling du CERFACS.
Le CERFACS est une Société Civile qui travaille à la résolution, par la modélisation et la simulation numérique, des problèmes scientifiques nécessitant le recours aux moyens de calcul les plus puissants. Il associe de manière interdisciplinaire, pour la recherche comme pour la formation avancée, des physiciens, des mathématiciens appliqués, des numériciens et des ingénieurs.

Références d'utilisateurs institutionnels: 

PALM est utilisé par des organismes tels que Mercator-Océan (océanographie opérationnelle), en R&D et en opérationnel pour toutes ses chaînes d’assimilation de données. Ou encore à l’IMAG dans le cadre du projet COMODO (emboitement de modèles), ou dans le cadre du projet de recherche communautaire NitroEurope pour faire de la modélisation du cycle de l’azote à l’échelle du paysage. Cette liste étant non exhaustive.

Voir http://www.cerfacs.fr/globc/PALM_WEB/FR/APPLICATIO...

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums: 

Le support (installation et utilisation) est assurée par l’équipe de développement de PALM dans la cas où l’utilisateur a suivi la formation.
Pour la formation, voir http://www.cerfacs.fr/globc/PALM_WEB/FR/BECOMEAUSE...

Documentation utilisateur: 

La documentation utilisateur est fournie lors de la formation.
Des articles et des présentations relatifs à PALM sont accessibles : http://www.cerfacs.fr/globc/PALM_WEB/FR/DOCUMENTS/...