Intégration de l'expérience COSMOMC dans EGEE

Slides:



Advertisements
Présentations similaires
Le collège mardi le deux mars HL/ Fr1. Lesson objectives To revise basic principles of past tense in French To look at how to use the future tense.
Advertisements

Colloque LCG France14-15 mars SURVEILLANCE ET GESTION D’INCIDENTS Cécile Barbier (LAPP)
INFSO-RI Enabling Grids for E-sciencE Statistiques d'usage d'un site de la grille LCG/EGEE Emmanuel Medernach, IN2P3 LPC.
Nouveau programme de 3ème Probabilités Document de travail – Académie de Rouen
Enseigner l’arithmétique en série L Réflexions sur les contenus et les exigences.
Intégration et usages innovants de la vidéo dans les pratiques pédagogiques en Economie et Gestion. Réunion du 11 mars 2016 – Usages numériques et TRAAM.
Edition du son AVEC AUDACITY. Import du wav Durée, env. 1 h par fichier WAV.
Inter académiques Orléans 2007 Analyse d'activités pouvant donner lieu à développement dans et hors la classe. Durée : 1h30 ● Problématique ● Présentation.
FSA/INGI - 5 septembre 2006 Application du Reinforcement Learning à un jeu de Markov de type évasion-poursuite Lionel Dricot Promoteur : Professeur Marco.
1 Créer un extension OpenOffice.org avec Eclipse Créer une extension OpenOffice.org avec Eclipse.
IP Multicast Text available on
Cahier des charges.
UE2 - M22 Licence acoustique
Les commandes externes
PROBABILITÉS.
Statistics Canada • Statistique Canada
Réaliser une opération de contournage en fraisage
Intégration énergétique à l’ échelle de grands sites: Nouveaux Modules pour CERES Alaa FARHAT
Usine de Développement.
Un Algorithme , c'est Quoi ?
Session 1 6 mars 2017 Plateforme ICONICS Justine Guégan
Détection des erreurs.
Fedora 26 Quelles nouveautés ? License CC-BY-SA.
L’exposé 3- 4 mins long - 4 minutes is a maximum, not a target.
Architecture de machines Le microprocesseur
Principes de programmation (suite)
Activités algorithmiques
Tableaux à plusieurs dimensions en langage C
l y a which we have already learned means “there is/are l y a which we have already learned means “there is/are.” When we put a measure of time.
Plans d’expériences: Plans factoriels
C. Loomis (LAL-Orsay) Tutorial EGEE Utilisateur (LAL) 2 février 2007
Technologies de l’intelligence d’affaires Séance 14
Soumission de jobs Tutorial Grille (LCG/EGEE)
Why is it important to plan ahead for the future?
2ème coloque LCG-France
Semaine #4 INF130 par Frédérick Henri.
Approximation de Pi par la méthode de Monte Carlo
Démarche de conception. Démarche didactique.
Apprentissage profond Q
mardi 11 septembre 2018mardi 11 septembre 2018
Production pour LHCb sur la grille
Méthodologie scientifique
Tutorial Utilisateurs EGEE
Réseaux de neurones appliqués à la reconnaissance de caractères
Développement d’applications interactives
LOG770 Annexe A Éléments de probabilité
Exercice : le jeu. Vous devez concevoir l’algorithme permettant de jouer avec votre calculatrice : elle détermine au hasard un nombre caché entier entre.
Integrated Business intelligence
Assembleur, Compilateur et Éditeur de Liens
Efficacité des algorithmes
Le logiciel de calcul de Reynaers
Modélisation objet avec UML
Mésocentre de calcul et de stockage ouvert sur la grille EGEE (MUST) LAPP/ Université de Savoie / EGEE.
Programme financé par l’Union européenne
TTR : Résumé exécutif Schéma global du processus validé entre RNE et FTE.
Le code de Huffman: est une méthode de compression statistique de données qui permet de réduire la longueur du codage d'un alphabet. Le code de Huffman.
Présentation 4 : Sondage stratifié
Présentation 9 : Calcul de précision des estimateurs complexes
Laboratoire V: Création d’un protocole expérimental
Global Challenge Capteur de nuit Leçon 2.
Reconnaissance de formes: lettres/chiffres
Donnez votre avis ! Depuis votre smartphone, sur :
DC04 CMS Objectif Status Planning
PROGRAMMATION ET ENSEIGNEMENT
Le langage C# : Partie 1.
Présentation des nouveaux programmes de mathématiques de première des séries technologiques Jessica Parsis.
INTELLIGENCE ARTIFICIELLE
Franck VIOLLET Direction des risques de marché et de modèle HSBC-CCF
spécialité mathématiques Première
Transcription de la présentation:

Intégration de l'expérience COSMOMC dans EGEE Julien LESGOURGUES (LAPTH) Cécile BARBIER (LAPP) 27 Septembre 2007

Le principe de CosmoMC Le problème: on dispose de nombreuses observations de l’Univers à différentes époques: on veut en déduire ses caractérisques globales (composition, etc.) et son histoire globale Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP

? = Le principe de CosmoMC Le principe: on ne peut pas partir des observations et remonter le temps: mais on peut: faire l’hypothèse d’un modèle (=“scénario cosmologique”) spécifier les paramètres du modèle (=“paramètres cosmologiques”) : entre 6 et 15 paramètres suivant les modèles) faire tourner un code pour simuler l’évolution globale de cet Univers (prend environ 2-3 minutes) voir si le résultat ressemble ou non aux vraies données en déduire si le modèle de départ est bon ou mauvais Modèle cosmologique ? = Modèle cosmologique Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP

Le principe de CosmoMC La méthode: le code: explore l’espace des paramètres pour chaque point dans cet espace, simule cet Univers et le compare aux données expérimentales en déduit la distribution de probabilité de chaque paramètre c’est un processus complexe en raison du grand nombre de paramètres (5 à 15) tout dépend de l’algorithme d’exploration: un algorithme naif aurait besoin de ~1015 itérations x 3 mn…(temps total > à l’âge de l’Univers!) les meilleurs algorithmes ont besoin de 104 à 105 itérations (12h à une semaine suivant les modèles) Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP

Le principe de CosmoMC CosmoMC utilise un des meilleurs algorithmes connus (Metropolis-Hastings): Chaque processeur décrit une marche aléatoire dans l’espace des paramètres (= chaîne de Markhov), avec une “attirance” pour les régions en bon accord avec les données. Les processeurs communiquent entre eux avec MPI. Ils mettent en commun les informations acquises par chacun sur la localisation des bonnes régions dans l’espace des paramètres, ce qui permet d’accélérer le processus. Lorsque toutes les chaînes prédisent la même probabilité pour les paramètres cosmologiques, le processus a convergé et s’arrête. On en déduit les paramètres cosmologiques en accord avec les observations, avec valeur centrale et barre d’erreur. Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP

Le principe de CosmoMC Un run typique : 8 à 32 chaînes de Markhov (= 8 à 32 CPUs), 103 à 105 itérations par chaîne (le temps de convergence dépend de beaucoup de choses: très difficile à prévoir !!! En général 0.5 à 10 jours) pour être dans le coup et publier, il faut faire des nouveaux runs pour chaque combinaison de : nouveaux modèles (les théoriciens proposent souvent des nouveaux modèles intéressants à tester) nouveaux ensembles de données (depuis ~2000 les astrophysiciens fournissent chaque mois de nouvelles données importantes) … pour cela il faut adapter et modifier le code public de base … de plus, on peut faire des runs sur des données simulées pour aider les astrophysiciens à optimiser les caractéristiques des futures expériences Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP

Historique des runs Runs en batch au CC-IN2P3 Lyon, à Barcelone (Mare Nostrum) et à Cambridge Compilation et tests au LAPP En interactif sur machine dédiée Soumission depuis le LAPP sur ferme de calcul du LAPP en batch sur ferme de calcul du LAPP via la grille avec la VO locale vo.lapp.in2p3.fr sur la grille avec la VO esr Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP

Création de l’exécutable Code Langage : Fortran 90 Algèbre linéaire : librairie Lapack Programmation parallèle : librairies OpenMP et MPI Compilation Compilateur Intel sous licence : UI identique aux WN Exécutable semi-statique (option -i-static : pas besoin des librairies MPI Intel) Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP

Fonctionnement du code Exécution sur n CPUs : edg-job-submit –vo esr MPIcosmo.jdl mock_mnu_planck_lsst2.covmat mock_mnu_planck_lsst3_1.* mock_mnu_planck_lsst3_2.* params.ini cosmomc … mock_mnu_planck_lsst3_n.* output.tar.gz planck_lsst.dataset planck_lsst.dat Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP

Fichier MPIcosmo.jdl JobType = "MPICH"; NodeNumber = 8; Executable = "mpi-start-wrapper.sh"; Arguments = "cosmomc params.ini OPENMPI"; StdOutput = "std.out"; StdError = "std.err"; InputSandbox = { "mpi-start-wrapper.sh", "mpi-hooks.sh", "cosmomc", "params.ini", "../data_share/planck_lsst.dataset", "../data_share/planck_lsst.dat", "mock_mnu_planck_lsst2.covmat"}; OutputSandbox = { "std.out", "std.err", "output.tar.gz"}; Requirements = Member("MPI-START", other.GlueHostApplicationSoftwareRunTimeEnvironment) && Member("OPENMPI", other.GlueHostApplicationSoftwareRunTimeEnvironment) ; Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP

Soumission avec MPI Documentation : Principe : http://egee-docs.web.cern.ch/egee-docs/uig/development/uc-mpi-jobs_2.html http://www.grid.ie/mpi/wiki/FrontPage http://www.grid.ie/mpi/wiki/JobSubmission http://www.grid.ie/mpi/wiki/SiteConfig Principe : mpi-hook.sh mpi-start-wrapper.sh pre-run-hook Exécution MPI post-run-hook Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP

Bilan Depuis 3 mois : Simulations quotidiennes En batch et par la grille 4 types de problème : 2 nouveaux modèles 2 nouveaux jeux de données Tests de 8 à 32 chaînes 2 publications effectuées 2 publications par mois d’ici fin décembre 2007 Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP

QUESTIONS ? Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP

Wrapper MPI-START # Setup for mpi-start. # Pull in the arguments. MY_EXECUTABLE=`pwd`/$1 MY_ARGS=$2 MPI_FLAVOR=$3 # Convert flavor to lowercase for passing to mpi-start. MPI_FLAVOR_LOWER=`echo $MPI_FLAVOR | tr '[:upper:]' '[:lower:]'` # Pull out the correct paths for the requested flavor. eval MPI_PATH= `printenv MPI_${MPI_FLAVOR}_PATH` # Ensure the prefix is correctly set. Don't rely on the defaults. eval I2G_${MPI_FLAVOR}_PREFIX=$MPI_PATH export I2G_${MPI_FLAVOR}_PREFIX # Touch the executable. It exist must for the shared file system check. # If it does not, then mpi-start may try to distribute the executable when it shouldn't. touch $MY_EXECUTABLE # Setup for mpi-start. export I2G_MPI_APPLICATION=$MY_EXECUTABLE export I2G_MPI_APPLICATION_ARGS=$MY_ARGS export I2G_MPI_TYPE=$MPI_FLAVOR_LOWER export I2G_MPI_PRE_RUN_HOOK=mpi-hooks.sh export I2G_MPI_POST_RUN_HOOK=mpi-hooks.sh # If these are set then you will get more debugging information. export I2G_MPI_START_VERBOSE=1 export I2G_MPI_START_DEBUG=1 # Invoke mpi-start. $I2G_MPI_START Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP

Pré-traitements # This function will be called before the MPI executable is started. # You can, for example, compile the executable itself. # pre_run_hook () { echo "Executing pre hook." # Check directory content echo "-----------------------" echo "Check directory content" ls -lF # Make cosmomc executable echo "Make cosmomc executable" /bin/chmod +x cosmomc ls -lF cosmomc # Change number of iterations echo "---------------------------" echo "Change number of iterations" echo "Before :" grep "^samples =" params.ini sed -e "s|^samples = 200000|samples = 16|" -i params.ini echo "After :" echo "Finished the pre hook." return 0 } Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP

Post-traitements # # This function will be called before the MPI executable is finished. # A typical case for this is to upload the results to a storage element. post_run_hook () { echo "Executing post hook." # Check directory content echo "---------------------" echo "Contenu du repertoire" ls -lF # tar the results echo "--------------------------" echo "Recuperation des resultats" /bin/tar cvfz output.tar.gz *.log *.txt echo "Finished the post hook." return 0 } Formation Utilisateur EGEE - 26-27 Septembre 2007 - LAPP