+ All Categories
Home > Documents > 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme...

1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme...

Date post: 04-Apr-2015
Category:
Upload: arabelle-leclercq
View: 112 times
Download: 6 times
Share this document with a friend
Popular Tags:
30
1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE & André RIBES EDF R&D
Transcript
Page 1: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

1Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

SALOME une plate-forme de simulation pour le calcul scientifique

Vincent LEFEBVRE & André RIBES

EDF R&D

Page 2: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

2Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Sommaire

Présentation générale

Architecture de la plate-forme

Conclusions & perspectives

Page 3: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

3Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Sommaire

Présentation générale

Qu’est-ce que SALOME ?

Objectifs

Principales fonctionnalités

Une réalisation « Open Source »

Applications métiers au CEA & à EDF

Cas d’utilisation

Architecture de la plate-forme

Conclusions & perspectives

Page 4: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

4Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Qu’est-ce que SALOME ?

SALOME

Plate-forme d’intégration pré/post-traitement et de couplage de codes pour la simulation numérique

Produite en « open source » dans le cadre des projets RNTL SALOME & SALOME2 et des projets de co-dévelopement CEA-EDF PAL & NEPAL

Post

CAD Interface

CAD modeling

Cleaning Properties

Meshing

Su

pervision

SolverCAD

System

Visualization

http://www.salome-platform.org

Page 5: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

5Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Objectifs

Faciliter l’interopérabilité entre la modélisation CAO et les codes de calculs

Faciliter l’intégration entre les codes de calculs dans un environnement distribué hétérogène

Fournir une interface utilisateur générique simple, efficace et qui contribue à la réduction des coûts de recherche et des délais

Regrouper la production des développements non critiques (pré et post traitement) dans une base commune de simulation numérique

Page 6: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

6Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Principales fonctionnalités

Importer/exporter des géométries, réparer/nettoyer des géométries, créer/modifier

Mailler des géométries, contrôler la qualité, importer/exporter

Manipuler les propriétés physiques et numériques des éléments de géométries

Gérer les différentes étapes d’utilisation d’un solveur : recevoir les données, configurer le solveur, renvoyer les résultats

Exécuter l’enchaînement et le couplage entre les solveurs

Visualiser et post-traiter les résultats

Page 7: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

7Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

SALOME 1 & 2: RNTL 2001-2006, consortium de 9 & 21 partenaires Open Source, Dernière version de référence : 3.2 sortie en juin 2006

Une réalisation « Open Source »

Page 8: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

8Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Une réalisation « Open Source »

Adhésion aux standards open source

• Linux, Qt, VTK, C++, OmniORB/CORBA, HDF5, Python• Distribution sous les termes de la licence GNU LGPL

Possibilité de définir des solutions propriétaires ou commerciales

Possibilité d’intégrer des composants métiers qui ne sont pas open source

Page 9: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

9Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Applications métiers au CEA & à EDF

Plate-forme d’intégration

Neutronique

Thermo-Hydraulique

Combustible nucléaire

Matériaux

Déchets

(pré/post et supervision)

Mécanique

Plate-formesmétiers

Page 10: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

10Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Cas d’utilisationPlate-forme SALOME pour Code_ASTER

3 : Paramétrage de données & lancement de l’exécution de Code_ASTER

4 : Post-traitement

2 : Maillage

1: Géométrie

Page 11: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

11Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Cas d’utilisation

Couplage RTV– neutronique, cœur thermo-hydraulique, système thermo-hydraulique

Pre-processing

Supervision de couplage

Post-processing

Page 12: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

12Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Sommaire

Présentation générale

Architecture de la plate-forme

Vue d’ensemble

Modèle d’exécution

Modèle d’échange de données

Supervision et couplage

Conclusions & perspectives

Page 13: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

13Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Vue d’ensemble

Services + modèle de programmationServices + modèle de programmation

ÉtudesÉtudes

IHMIHM

Modules

NoyauModèle

Persistant

MED

SuperviseurSuperviseur

GéométrieGéométrie

MaillageMaillage

Post-ProPost-ProMise en donnéeMise en donnée

Physique 2Physique 2

Physique 1Physique 1

Page 14: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

14Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Vue d’ensemble

Un module contient• Un ou plusieurs programmes

• Chaque programme peut être divisé en deux parties :• Moteur (composant SALOME) contient la partie calcul• IHM constitue un lien entre l’IHM de SALOME et le moteur du

module• Par défaut, CORBA assure le lien entre l’IHM et le moteur

• Exemples• Géométrie

1 moteur et 1 IHM• Maillage

Plusieurs moteurs (différents algorithmes) + 1 IHM

Une application métier construite sous SALOME va permettre à l’utilisateur d’enchaîner des modules à partir

• De l’IHM graphique (GUI),

• D’un script python (TUI)

• D’un schéma de calcul piloté par le superviseur

Page 15: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

15Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Vue d’ensemble

Exemple avec la plate-forme SALOME pour Code_ASTER à partir de l’IHM graphique

GéométrieGéométrie MaillageMaillage

Post-ProPost-Pro

Mise en donnéeMise en donnée Code_ASTERCode_ASTER

Page 16: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

16Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

SALOME s’appuie sur des pré-requis techniques Architecture distribuée : CORBA Langages de programmation et de script : C++ & Python IHM graphique : Qt Persistance des données : HDF5

SALOME fournit également un ensemble de services Généraux fournis par le noyau

• Gestion des données d’études

• Modèle d’exécution distribué basé sur CORBA

D’échange de données entre modules• Modèle d’échange MED

De supervision (module de supervision)• Enchaînements et couplages

Vue d’ensemble

Page 17: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

17Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Un module contient un ou plusieurs composants SALOME Un composant SALOME

Extension des objets CORBA

On distingue 2 types de composants dans SALOME• Python & C++

Modèle d’exécution de SALOME

FortranC++

C++Interface C/Fortran

Wrapping ComposantCORBA-SALOME

Composant Python

Interface SWIG

Python

FortranC++

C++Interface C/Fortran

Wrapping ComposantCORBA-SALOME

Composant C++

CORBA CORBA

Page 18: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

18Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Modèle d’exécution de SALOME

Les composants SALOME sont hébergés dans des « containers » Processus hébergeant une ou plusieurs instances d’objets

SALOME Gestion du cycle de vie des composants (création, destruction)

Utilisateur Application-client

Couche de communication

ContainerComposant

Composant

Services de la plate-formeComposant

Container

Page 19: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

19Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Modèle d’exécution de SALOME

MachineMachineMachineMachine

MachineMachineContainerContainer

ContainerContainer

Resource Allocator- fournir une machine

(critères, charge)

Resource Allocator- fournir une machine

(critères, charge)

Naming ServiceNaming Service

ContainerManagerContainerManager

RegistryRegistry

getMachine(critères)

Création, destruction

Composant 1 inst1

Composant 1 inst1

Composant 1 inst1

Composant 1 inst1

Étude

Composant 1 instance 2

Composant 1 instance 2

Composant 2 instance 2

Composant 2 instance 2

LifeCycleCORBALifeCycleCORBA Instanciation

findContainer(…)loadContainer(…)

findComponent(…)loadComponent(…)

CatalogueressourcesCatalogueressources

SuperviseurSuperviseur

Lancement

1

2 3

45

6

Le noyau SALOME fournit des gestionnaires de

Containers (cycle de vie des composants)

Ressources

Page 20: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

20Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Modèle d’échange de données

MED : Modèle d’échange de données commun

Standardisation des échanges de données entre modules SALOME

Basé sur la notion de champ sur maillage

Code 2(format E/S 2)

Code 3(format E/S 3)

Code 4(format E/S 4)

Code 1(format E/S 1)

Format commund’échange

Page 21: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

21Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Modèle d’échange de données

Mode de représentation et d’accès aux données du modèle MED dans un module (code de calcul)

Communicationen mémoire

(CORBA)

Inter-processus

Représentation et accès aux données du

modèle directement en mémoire ou sur fichier

Code de calcul

Communication par fichier (HDF 5)

Fichier HDF 5

Page 22: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

22Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Modèle d’échange de données

MED est utilisé par les modules de pré/post-traitement de la plate-forme SALOME

Maillage

Visualisation

Page 23: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

23Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

SOLVERS

Post

processing

pre

processing

SupervisionCAD

modellingmeshing

SOLVERSSOLVERS

Objectifs du module de supervision de la plate-forme• Conception visuelle des schémas de calculs et de couplage• Utilisation de solveurs et de services de SALOME (géométrie, maillage, …)• Exécution et contrôle dans un environnement distribué

La supervision dans SALOME se base sur la notion de service• Représente une fonctionnalité ou un composant (ou une sous partie)

Le module de supervision permet de contrôler et suivre l’exécution de schémas de calcul

• D’unités de contrôle (Boucle, Switch,…)

• De services

Supervision et couplage

Page 24: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

24Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Notion de service• Un service est une boîte noire vis-à-vis des autres services

• Il définit des données d’entrées et des données de sorties

• Description d’un service• Une opération contenue dans le fichier IDL (interface CORBA) du

composant• Un fichier XML du composant contenant la description des ports

Une application de simulation numérique est constituée d’un ensemble de services connectés par le biais de leur ports

• Port de contrôle = workflow

• Port de données = datastream

• Port contrôle + données = dataflow

Ces différents types de ports permettent de définir catégories d’applications numériques

• Chaînage et couplage faible : workflow et dataflow

• Couplage fort : datastream

Supervision et couplage

Page 25: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

25Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Supervision et couplage

Port de contrôle (workflow)• Par le biais des ports nommés « gate »

• Permet d’exprimer l’enchaînement de différents services

• Tous les services ont deux gates

Gate GateGate Gate

Service 1 Service 2

Contrôle

Donnée

Contrôle + donnée

Page 26: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

26Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Port de contrôle et données (dataflow)• Transfert des données par les connexions a-a et b-b

• Transfert du contrôle de service 1 à 2

Gate Gate Gate Gate

Service 1 Service 2

String a

Objet b Objet b

String a

Contrôle

Donnée

Contrôle + donnée

Supervision et couplage

Page 27: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

27Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Port de données (datastream)• Taba est transféré du service 1 au 2 par la connexion d-e

• Tabb est transféré du service 2 au 1 par la connexion f-c

Contrôle

Donnée

Contrôle + donnée

Gate Gate

Service 2

Objet b

String a

Tabb e Taba f

Gate Gate

Service 1

String a

Objet b

Taba c Tabb d

Supervision et couplage

Page 28: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

28Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Supervision et couplageDans un schéma de calcul

• Les structures de contrôle Loop & Switch sont des nœuds spéciaux qui contrôlent dynamiquement les flux de données

• Tous les modules de Salomé peuvent être utilisés (Géométrie, Maillage, Post-traitement, calcul)

Page 29: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

29Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Sommaire

Présentation générale

Architecture de la plate-forme

Conclusions & perspectives

Page 30: 1 Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006 SALOME une plate-forme de simulation pour le calcul scientifique Vincent LEFEBVRE.

30Ecole CEA-EDF-INRIA – Calcul scientifique intensif – 07 novembre 2006

Industrialisation

V 0.9 - oct. 2002

V 1.2 - dec. 2003

V 2.1 - dec. 2004

V 3.1 - dec. 2005

1er projet SALOME

Phase de Déploiement

2

1

3

Procédures d’installation automatique,Procédures d’installation automatique,Tests d’environnement de non régression,Tests d’environnement de non régression,Documentation, Tutorials…Documentation, Tutorials…

Évolutions GEOM, MESH, SUPERV, VISUÉvolutions GEOM, MESH, SUPERV, VISUDémonstrations de couplage de codesDémonstrations de couplage de codesEnvironnement d’aide d’intégration de codeEnvironnement d’aide d’intégration de code

Gestion des ressources Gestion des ressources (hétérogènes)(hétérogènes)Supervision de couplage de Supervision de couplage de composants parallèlescomposants parallèlesGestion de maillages distribuésGestion de maillages distribuésVisualisation des gros volumes Visualisation des gros volumes de donnéesde donnéesOutils d’interpolation multi-Outils d’interpolation multi-domainesdomainesDécoupage de maillagesDécoupage de maillages

V 3.2 - mai 2006

Conclusions & Perspectives

V4.1 - fin 2007

V5.1 fin 2008


Recommended