État d'avancement de la plate-forme OpenPalm

Slides:



Advertisements
Présentations similaires
Page 1 SIESTE février 2005 Un coupleur dynamique de codes parallèles URL: Thierry Morel.
Advertisements

Outils logiciel pour la programmation en C. 2 Automatiser la compilation : make make est un utilitaire présent dans toute les distribution de linux >
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
Qu'est ce que le logiciel libre ?. Qu'est-ce qu'un logiciel ? ● C'est une application informatique qui répond à un besoin : traitement de texte, navigateur.
Travailler à l'ensimag avec son matériel personnel (dans les locaux Ensimag ou depuis l'extérieur) 1.Introduction 2.La clé USB Ensilinux 3.Rappels : Accès.
OpenERP The inCloud Business Solution 3/3/ / Camptocamp Chambéry Vienne Lausanne ■ Éditeur et intégrateur de solutions Open Source.
T. Morel – OpenPALM – IRSTEA décembre Un coupleur dynamique de codes parallèles pour les applications multi-physiques ou multi-composants CERFACS-ONERA.
1 Après 5 séances ● Utilisation du système Linux – Il faut maîtriser l'utilisation de la souris (« copy/paste » des textes donnés) – Utilisation de la.
LES FONCTIONS D'UN SYSTEME D'EXPLOITATION ● Le système d'exploitation contrôle entièrement les ressources matérielles locales. ● Il est responsable de.
Mini Projet : Station Météo ➢ Etudiant E1 : ✔ Réception de la trame, analyse, transmission. ➢ Etudiant E2 : ✔ Réception des données, traitement, stockage.
1 Le stage informatique de Masters APIM et PIE (2012/2013) Ivana Hrivnacova Vincent Lafage Basé sur le stage informatique du LAL et IPN par (2005/2006):
Interfaçage entre Maple et du code externe
Les Bases de données Définition Architecture d’un SGBD
Outils (MailIntegration et autres)
Licence Informatique DEVELOPPEUR ANDROID
Communication client-serveur
Les tableaux différencier les variables simples des variables indicées (ordonnées et numérotées) un identificateur unique désigne un ensemble, une collection.
Formation Utiliser xUbuntu
de la productivité individuelle au travail collaboratif
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Visite guidée - session 3 Les postes de charge et les gammes
Logique Combinatoire.
Gestion de version centralisée et décentralisée
Pointeurs et langage C.
P7 Métabase de données _.
PRÉSENTATION DU PROJET
Le « Bugtracking » Alejandro FERNANDEZ – Etienne FONTEIX
Système d ’information médicalisé et tarification à l ’activité en HAD
Numérotation Insertion d'objets
Préparer par : Intissare et kaoutare
AO (Architecture des ordinateurs)
Accès aux fichiers en C.
Profils d’emplois JT du 24 septembre 2001
Matrices, déclaration en CSharp
Batterie TSE.
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
Classification des archtecutres paralleles
Joseph Larmarange – Atelier d’écriture – Abidjan – Octobre 2017
Proposition d’évolution de l’application
Daniel JOUVENOT Laboratoire de l’Accélérateur Linéaire (LAL–ORSAY)
Solution de déploiement logiciel
Programmation système
Les tableaux.
SRT2 APACHE.
Package R Markdown: Un outil pour générer des pages html avec R Studio
Plus de 4000 langages....
ACP Analyse en Composantes Principales
Outils et principes de base. Exemple d’application  Gestion de données d’enquête : Interface de saisie en ligne  insère directement les données dans.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
1)Déclaration des variables (integer, real,..) 2) Instructions exécutables et non exécutables 3) Stop 4) End 5) Déclaration des sous programmes type Fonction.
The AquiFR hydrogeological modeling platform.
Réunion AquiFR Rappel Réunion de Lancement Février 2014
Pascal Belaud – Microsoft France
5. Les modules Découpage d’une application en modules
Avancement de la plateforme, développement temps réel, prévision saisonnière Réunion pleinière Aqui-FR, Jussieu le 29 mai 2018.
Analyses et prévisions SIM-PE Pour la crue de mai-juin 2016
Objectifs de la réunion:
AquiFR : Réunion d’avancement
AquiFR - Point sur le développement de la structure informatique et sur les évaluations N. Roux – 21 octobre 2017.
Projet Aqui-FR État d’avancement sur l’adaptation de Marthe et les applications régionales Dominique THIÉRY, Nadia AMRAOUI Janvier 2015 Direction.
AquiFR – point sur les sorties
Système d’exploitation: Principe IFT6800 – E 2008 Pierre Poulin.
Tableaux Cours 06.
FRAMEWORKS : XMLBEANS / STRIPES
Projet CRImage UNIVERSITE STENDHAL GRENOBLE
TP N°1 : GUI en NetBeans Module R & C Université de Jijel
Apprentissage de la lecture au cycle 2
Business Intelligence en ACube OLAP et Reporting avec ACubeOLAP et GRaM.
LES RESEAUX. Besoin de communication LES RESEAUX Pour communiquer via un réseau informatique Support de transmission Carte réseau Éléments de réseau.
Transcription de la présentation:

État d'avancement de la plate-forme OpenPalm Réunion d'avancement projet AquiFR 21 avril 2015 État d'avancement de la plate-forme OpenPalm

Applications incorporées dans la maquette version du 29 janvier 2015 Plate-forme OpenPalm comprenant: 4 applications EauDyssée : Basse Normandie, Loire, Seine, Somme Pas de temps journalier Résolution de 125 m à 8000 m 1 application Marthe : Poitou-Charente (POC) Pas de temps mensuel Résolution 1000 m Code d'EauDyssée: Instruction PALM pour couplage avec sorties SURFEX Code Marthe: Librairie MARTHE tourne sous PALM

Rappel hiérarchie des répertoires Répertoire des codes AquiFR EauDyssée Marthe Basse Normandie Somme Poitou-Charente Loire Seine EauDyssée : Sortie binaire, texte Palm rundir Marthe : Sortie binaire, texte

Rappel carte des applications 255463 mailles 255463 mailles Somme Basse Normandie Seine Loire Poitou-Charente

Application Palm d'AquiFR version du 29 janvier 2015 Lecture fichier SURFEX grille SAFRAN 8 km sur la France au pas de temps journalier - Variables d'entrées (pas de temps, etc.) : initialement inscrites dans fichiers d'entrée du modèle - Forçage :Infiltration et ruissellement à chaque pas de temps 4 Applications EauDyssée avec directives Palm 1 Application Marthe indépendante Synchronisation des applications à chaque pas de temps Communique 1 entier de synchronisation

Application openPalm d'AquiFR version du 21 avril 2015 Marthe est couplé avec instructions Palms au pas de temps journalier - Application sur la Somme - POC en journalier pas encore testé EauDyssée MARTHE Synchronisation des applications à chaque pas de temps Communique 1 entier de synchronisation

Application openPalm d'AquiFR version du 21 avril 2015 Regroupement des 4 branches EauDyssée dans 1 seule branche EauDyssée MARTHE EauDyssée tourne en parallèle au sein de la même branche. - nécessite de connaître le répertoire de run de l'application en fonction du numéro de processeur

Regroupement des 4 branches EauDyssée Mise en parallèle d'EauDyssée dans sa carte d'idendité !PALM_UNIT -name eaudyssee\ ! -functions {F90 SUB_ODIC}\ ! -object_files {../EauDyssee/src/dir_obj/libeaudyssee_aquifer.a}\ ! -parallel mpi\ ! -minproc 1\ ! -maxproc 10\ ! -comment {librairie ODIC} ! …........ !PALM_OBJECT -name ruissellement\ ! -space NULL\ ! -localisation REPLICATED_ON_ALL_PROCS\ ! -intent IN\ ! -time ON\ ! -comment {Ruissellement SURFEX 1D} …...... Constante nb_appli_odic définie dans prepalm (nb_appli_odic = 4 pour 4 applications tournant en parallèle sur 4 processeurs)

Regroupement des 4 branches EauDyssée Au tout début du code d'EauDyssée : Lecture des répertoires de simulations de chaque applications à partir d'un fichier texte nommé “working_directory_eaudyssee” : Nb_mailles Working_directory 63226 ../rundir/somme 37620 ../rundir/loire 37667 ../rundir/basse_normandie 41609 ../rundir/seine_6_couches_ISBA_AGS OPEN(10, FILE='working_directory_eaudyssee', FORM='FORMATTED', STATUS='OLD') READ(10, *) DO I = 1, nb_appli_odic READ(10, '(I5, 1x, A100)') INBSOU, YTABAPPLI(I) ENDDO CLOSE(10) Changement de répertoire de run en fonction du numéro de processeur numéroté de 0 à 3 CALL MPI_Comm_rank(PL_COMM_EXEC, il_rank, il_err) CALL CHDIR(TRIM(YTABAPPLI(il_rank + 1)))

Application openPalm d'AquiFR version du 21 avril 2015 Regroupement des 4 branches EauDyssée dans 1 seule branche EauDyssée MARTHE Communique un tableau contenant les hauteurs de nappe les échanges nappe-rivière

Transmission des données hauteurs nappe et échange nappe/rivière EauDyssée parallèle sur 1 branche Somme Seine Loire Basse normandie Nb de mailles 63226 41609 37620 37667 4 tableaux produits de taille (2, nombre de mailles de l'appli) Coté Palm, utilisation d'un distributeur de type « custom » décrivant la répartition des tableaux locaux de chaque appli dans le tableau global. Distributeur Palm Hauteur nappe Qnappe/riv 1 tableau global de taille (2, nbsou_global) Constante Palm : nbsou_global = nombre de mailles totales des applis = 180122

Transmission des données hauteurs nappe et échange nappe/rivière Modification de la carte d'idendité d'EauDyssée !PALM_DISTRIBUTOR -name distr_aquifer\ ! -type custom\ ! -shape (nbsou_global, 2)\ ! -nbproc nb_appli_odic\ ! -function distr_aquifer\ ! -object_files {distr_aquifer.o domain_aquifer.o}\ ! -comment {} ! !PALM_SPACE -name size_aquifer\ ! -shape (nbsou_global, 2)\ ! -element_size PL_DOUBLE_PRECISION\ ! -comment {size aquifer} !PALM_OBJECT -name hauteur_qnapriv\ ! -space size_aquifer\ ! -distributor distr_aquifer\ ! -localisation DISTRIBUTED_ON_ALL_PROCS\ ! -time ON\ ! -intent OUT\ ! -comment {Matrice hnappe et qnapperiv} Description du distributeur basé sur les subroutines Fortran distr_aquifer.f90 et domain_aquifer.f90 Dans l'objet transmis, indication du distributeur utilisé et localisation

Transmission des données hauteurs nappe et échange nappe/rivière Dans le code EauDyssée, un seul PUT du tableau local de l'appli à rajouter à chaque pas de temps en remplacement de l'entier de synchronisation : ZHQ_OUT(:, 1) = ZH_PIEZO ZHQ_OUT(:, 2) = ZQNAPPE_RIV cl_object = 'hauteur_qnapriv' cl_space = 'size_aquifer' CALL PALM_PUT(cl_space, cl_object, JSTEP, PL_NO_TAG, ZHQ_OUT, il_err) Plus besoin de « tags » dans les communications → répartition des vecteurs locaux gérés dans « distr_aquifer.f90 » et « domain_aquifer.f90 »

Transmission des données hauteurs nappe et échange nappe/rivière Unité de Synchro OPEN(10, FILE='sortie_test.bin', FORM='unformatted', ACCESS='SEQUENTIAL', ACTION='write') DO JSTEP=1, INB_STEP ! cl_space = 'size_aquifer' cl_object = 'hauteur_qnapriv' CALL PALM_GET(cl_space, cl_object, JSTEP, PL_NO_TAG, ZHQ_OUT, il_err) WRITE(10) ZHQ_OUT ! Marthe DO ITAG = 1, nb_appli_marthe cl_space = 'one_integer' cl_object = 'synchro_Marthe' CALL PALM_GET(cl_space, cl_object, JSTEP, ITAG, ISYNCHRO_MARTHE, il_err) ENDDO … …. CLOSE(10)

Résumé 4 applications EauDyssée en journalier : Basse Normandie, Loire, Seine, Somme 2 applications Marthe : 1 Somme en journalier intégré à la nouvelle version 1 POC en mensuel  Ajout d'une application EauDyssée : Rajouter une ligne au fichier “working_directory_eaudyssee” Modifier la constante Palm nb_appli_odic Modifier la constante Palm nbsou_global

Suite Modifications à incorporer dans le code de Marthe Regroupement des sorties, 1 seule branche Couplage avec le vrai SURFEX S'occuper du réseau hydrographique (maillage différent du réseau souterrain) Méthodologie similaire au maillage souterrain Identifier les recouvrements Adaptation des post-procs au nouvelles sorties regroupées

Installation du code via GIT Git : logiciel de gestion de version Partage du code et des applications entre tous les développeurs du projet Chacun peut soumettre ses modifications de manière cohérentes En ligne de commande sous ubuntu, git est disponible dans les dépôts : sudo apt-get install git Sous linux, le code peut etre récupéré à partir d'un serveur via la commande (accès ssh) : git clone utilisateur@serveur:/serveurgit/aquifr.git On obtient un répertoire aquifr contenant tous le projet AquiFR.

Installation du code via GIT Répertoire à la racine du projet aquifr: External : contient les fichiers .tgz correspondant à mpich, palm et prepalm 4 répertoires des sources d'Eaudyssée, de Marthe, de Synchro et Forçage Palm qui contient l'appli aquifr.ppl Results contenant les post-proc python Rundir contenant les répertoires de chaque applications Fichier ebauche_install_aquifr.sh Installation de l'application décrite dans le fichier ebauche_install_aquifr.sh : Compilation de PALM Compiltation d'EauDyssée Compilation de Marthe Génération du makefile Palm et compilation du palm_main