Deadline for registration: 15 days before the starting date of each training
Duration : 3 days / (20.5 hours)
A coupler is a software tool allowing the concurrent execution and the intercommunication of programs not having been especially designed for that. In addition to the data exchange issues, the coupler can take care of a number of services, such as intermediate computations on the exchanged data, grid to grid interpolations, parallel data redistribution.
The OpenPALM coupler co-developed by ONERA and CERFACS has many features. Its main qualities are its easy set-up, its flexibility, its performances, the simple updates and evolutions of the coupled application and the many side services and functions that it offers. Application goes from thermal coupling between fluid and solid zones in turbomachinery to data assimilation.
The purpose of the course is to learn to use PrePALM, the GUI of OpenPALM in order to quickly become autonomous on the instrumentation of the codes to be coupled as well as to use the various features of the coupler. The course is very pragmatic with many hands-on activities.
CERFACS engineers involved in its development teach this course.
This training session is for engineers, physicists, computer and numerical analysts who wish to develop or use coupled applications.
In order to follow this course, you need to:
- know how to use basic Linux commands,
- master one of these two programming languages : Fortran or C.
Intended learning outcomes
On completion of this course students should be able to :
- use autonomously the graphical inteface PrePALM so coupled two codes,
- to find all information you need in the user guide.
- Trainees/PhDs/PostDocs : 210 €
- CERFACS shareholders/CNRS/INRIA : 600 €
- Public :1200 €
(The first day from 9h30 to 17h30, the other days from 9h to 17h30)
Day 1: Process management
- The distinction of the two levels of parallelism of OpenPALM
- The first level of parallelism: launching of parallel task in MPI2 or MPI1, the OpenPALM units, chaining and coupling codes
- Instrumentation of sequential and parallel codes to make OpenPALM units (Fortran, C, C++)
- Management of the second level of parallelism: launch of parallel programs
- Definition of the coupling algorithm: branches, blocs, control structures synchronisations,etc
- Management of CPU resources and of memory, priority of the units
Day 2: Data exchange between coupled codes
- Genericity of the exchanges
- Description of exchange data: spaces and objects
- Management of complex data: arrays, structures, derived types
- Sending and receiving objects, communications between units
- Dynamic spaces for objects whose size evolve during an application
- Parallel communications, distributors and memory remapping for parallel codes.
Day 3: Other features of the coupler OpenPALM
- Temporal differentiation of objects, temporal interpolation
- OpenPALM toolbox, linear algebra units, minimizers, geophysics interpolation
- Memory optimisation, Buffer, Mailbuff and memory slaves
- Real-time monitoring of coupled applications, performance analyser, debugging of coupled applications
- OpenPALM installation
Advanced features of OpenPALM
- Dynamic objects
- Parallel communications
- Spatial interpolation using the library CWIPI developed by ONERA and integrated in OpenPALM
- OpenPALM with commercial codes