Open-PALM

Fiche logiciel validé
  • Création ou MAJ importante : 25/12/12
  • Correction mineure : 25/12/12
Mots-clés

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

Description
Fonctionnalités générales

Open-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 (Open-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 stratégies de couplage et équilibrer les charges sur un calculateur.
La programmation des applications Open-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, Open-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.
Open-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.
Pour les utilisateurs ne disposant pas de MPI-2 sur leur machine de calcul, Open-PALM est disponible dans une version MPI-1.
Les utilisateurs ont la possibilité de coupler des codes de calculs dont le code source n'est pas disponible en utilisant des librairies dynamiques.
Une librairie d'interpolations parallèles, développées par l'ONERA, est interfacée dans Open-PALM

Interopérabilité

Les différents langages compilés (C, C++, Fortran) sont supportés. Les langages interprétés comme Perl, Python, Tcl ou octave le sont également.
PrePALM permet de faire de la lecture / écriture sur des fichiers NetCDF.

Contexte d'utilisation dans mon laboratoire/service

Open-PALM compte maintenant plus de deux cent 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

Open-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, Mac OSX

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, URA CNRS 1875.
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
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 d'Open-PALM dans la mesure où l'utilisateur a suivi la formation.
Pour la formation, voir http://www.cerfacs.fr/globc/PALM_WEB/EN/BECOMEAUSE...

Documentation utilisateur

La documentation (version Fr et En) est accessible ici :
http://www.cerfacs.fr/globc/PALM_WEB/EN/DOCUMENTS/...

Contributions

Prendre contact avec l'équipe Open-PALM du CERFACS, palm [at] cerfacs [dot] fr