Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parSacheverell Beck Modifié depuis plus de 11 années
1
Page 1 CompFrame 2003 Workshop A development platform for parallel applications E-Mail : palm@cerfacs.fr
2
Page 2 Plan Origin and concepts Building a PALM application Supervision tools Some applications using PALM
3
Page 3 Plan Origin and concepts Building a PALM application Supervision tools Some applications using PALM
4
Page 4 Origin buis: -> Cest le but de palm buis: -> Cest le but de palm buis: projet créé dans le milieu des annees 90 à partir dun constat ou pour répondre a un problème précis -> exemple : en NWP : modele de plus en plus complexe prenant en compte de plus en plus de composants physique mais aussi des composants mathematique : assimilation de donnees, desfois aussi avec des resolution ou des dommaines differents, le tout gere avec cle CPP, … buis: projet créé dans le milieu des annees 90 à partir dun constat ou pour répondre a un problème précis -> exemple : en NWP : modele de plus en plus complexe prenant en compte de plus en plus de composants physique mais aussi des composants mathematique : assimilation de donnees, desfois aussi avec des resolution ou des dommaines differents, le tout gere avec cle CPP, … Scientific computing applications Scientific research Supercomputer technology Scientific computing applications Scientific computing applications Scientific computing applications Scientific computing applications
5
Page 5 Origin buis: -> Cest le but de palm buis: -> Cest le but de palm buis: projet créé dans le milieu des annees 90 à partir dun constat ou pour répondre a un problème précis -> exemple : en NWP : modele de plus en plus complexe prenant en compte de plus en plus de composants physique mais aussi des composants mathematique : assimilation de donnees, desfois aussi avec des resolution ou des dommaines differents, le tout gere avec cle CPP, … buis: projet créé dans le milieu des annees 90 à partir dun constat ou pour répondre a un problème précis -> exemple : en NWP : modele de plus en plus complexe prenant en compte de plus en plus de composants physique mais aussi des composants mathematique : assimilation de donnees, desfois aussi avec des resolution ou des dommaines differents, le tout gere avec cle CPP, … modular parallel performantevolutive & maintainable
6
Page 6 Concepts Source code library Applications INTEGRATIONINTEGRATION UNIT BRANCH OBJECTS COMMUNICATION buis: -> lidée de PALM cest de pouvoir construire des applications a partir de briques de bases indépendante entre elles (code source avec donnees quelles consomme et produise) et indépendante de lapplication. Subroutine fortran pour 1ere version PALM, exe C, fort C++ pour MP -> a partir dun jeu dunites, les assembler en sequences pour créer des appli modulaire et facilement evolutive (integration de nouveaux composants, …) sans changer le code source. buis: -> lidée de PALM cest de pouvoir construire des applications a partir de briques de bases indépendante entre elles (code source avec donnees quelles consomme et produise) et indépendante de lapplication. Subroutine fortran pour 1ere version PALM, exe C, fort C++ pour MP -> a partir dun jeu dunites, les assembler en sequences pour créer des appli modulaire et facilement evolutive (integration de nouveaux composants, …) sans changer le code source. buis: 1)Unites indep 2)Integration de lappli -> facilement modifiable, extensible, … 3)Voc PALM buis: 1)Unites indep 2)Integration de lappli -> facilement modifiable, extensible, … 3)Voc PALM
7
Page 7 How PALM ensures the independency between the units ? end-point communication scheme automatic remapping during the communications no reference to the application algorithm in the units : the description of the application algorithm is made in the GUI, during the integration phase A same framework can be used for several applications by changing the units, and the same units can be used in several applications without any modification buis: Faire animation remapping buis: Faire animation remapping
8
Page 8 How PALM ensures the performance of the applications 2 levels of parallelism Sequences: branches Distributed components:units
9
Page 9 How PALM ensures the performance of the application High performance communication mechanism memory copies MPI messages
10
Page 10 Plan Origin and concepts Building a PALM application Supervision tools Some applications using PALM
11
Page 11 On units side Units instrumentation: Source end-point CALL PALM_Put (space1, obj1, time, tag, array, error) Target end-point CALL PALM_Get (space2, obj2, time, tag, array, error) Units IDCARD: !PALM_UNIT -sub create\ ! !PALM_SPACE –name space1\ ! -shape (10,10)\ ! -element_size PL_DOUBLE_PRECISION\ ! !PALM_OBJECT -name obj1\ ! -space space1\ ! -intent OUT\
12
Page 12 Definition of the algorithm in PrePALM Launch units Conditional execution DO, While loops Communications
13
Page 13 Definition of the communication scheme
14
control structures physic algebra task parallelism data parallelism buis: General overview of the application Algorithm : components decomposition, control structure, Data flux Parallelism : branches, units Physics, algebra Mettre des fleches ??? buis: General overview of the application Algorithm : components decomposition, control structure, Data flux Parallelism : branches, units Physics, algebra Mettre des fleches ??? components data flux
15
Page 15 Plan Origin and concepts Building a PALM application Supervision tools Some applications using PALM
16
Page 16 Supervision tools debug functions can be called during PALM_PUT and PALM_GET to verify the objects values buis: Faire une animation pour passer de graphical stat a limage, … buis: Faire une animation pour passer de graphical stat a limage, … an output file per processes of the application containing information about the run with several levels of verbosity per message category performance analyser with graphical statistic summaries graphical animation
17
Page 17 Performance analyser
18
Page 18 Graphical animation
19
Page 19 Plan Origin and concepts Building a PALM application Supervision tools Some applications using PALM
20
Page 20 French contribution to the international experiment GODAE (Global Ocean Data Assimilation Experiment). Partners: Aim: implement an operational oceanic forecast system able to simulate the global ocean with a high resolution model by assimilating in-situ and satellite data Strategy: from regional to global model from simple (OI) to complex (SEEK, 4DVAR) assimilation method
21
Page 21 The operational system
22
Page 22 HIGH RESOLUTION REGIONAL PROTOTYPE 1/15° Mediterranean-North-Atlantic model assimilating altimeter data The MERCATOR bulletin 4D description of the ocean: Temperature, Salinity, Currents, SSH, movements of water masses… Each Wednesday (analyses and 7 days and 14 days forecast).
23
Page 23 The MERCATOR website http://www.mercator.com.fr global mappings sections moorings Gulf Stream Gulf of Mexico and Carribean North Brazil Tropics Northern Europe Eastern North Atlantic POMME campaign area Med Sea Outflow 8 Regional Zooms
24
Page 24 ASSET: Assimilation of Envisat Data a European project to exploit and develop earth observation data from Envisat satellite using data assimilation (January 2003 December 2005) aims: odevelop a European capability for chemical and UV forecasting oprovide analyses for coupled climate / chemistry studies partners:, ….
25
Page 25 Data Assimilation Methods buis: Rajouter PALM dans le schema buis: Rajouter PALM dans le schema assimilation of retrieved Envisat data into a coupled NWP/chemistry system ASSET: Assimilation of Envisat Data DataModel
26
Page 26 A Fluid – structure coupling application elsA: an ONERA – AIRBUS – CERFACS oriented object compressible flows simulation software
27
Page 27 Information and Documentations A website: http://www.cerfacs.fr/~palm A software: PALM_Research: already available and free PALM_MP: beta version in April A course: A 3 days free course is regularly organised An email: palm@cerfacs.fr
28
Page 28 Difference between SPMD and MPMD Program model … end Program assim … end True MPMD model.exe model memory assim.exe assim memory Proc 1 SPMD Proc 2 MPI 1 palm.exe assim memory model memory palm.exe assim memory model memory MPMD MPI 2 model.exe model memory assim.exe assim memory SPMD with MPMD emulation Program PALM If (model) call model Elseif (assim) call assim Endif end Subroutine model … end Subroutine assim … End palm.exe assim memory model memory
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.