Skip to Main content Skip to Navigation

Parallel Programming with the System Applications to Numerical Code Coupling

Abstract : Writing parallel programs is not easy, and debugging them is usually a nightmare. To cope with these difficulties, a structured approach to parallel programming using skeletons and templates based compilation techniques has been developed over the past years by several researchers, including the P3L group in Pisa. The system marries the functional programming language with the skeletons, yielding a powerful parallel programming system and methodology: allows the programmer to write and debug a sequential version of his program (which, if not easy, could be considered as routine), and then the parallel version is automatically deduced by recompilation of the source program. The invaluable advantage of this approach is stagging: the programmer has just to concentrate on the easy part, the sequential programming, relieving on the system to obtain the hard part, the parallel version. As an additional benefit, the semantics adequacy of the sequential and parallel versions of the program is no more the programmer's concern: it is now the entire responsability of the compiler. In this paper, we report on the successful application of in the field of scientific computing, where the system has been used to solve a problem of numerical code coupling, obtaining parallelization for free. The interaction has been quite successful, as, in the process of solving the coupling problem, a wealth of new ideas have emerged on the design of the system, which are now incorporated in the current version of : coloring of virtual and physical computing network nodes to specify their relative mapping, and the new notion of parfuns or parallel computing sub-networks reified as functions at the programmer's level. Those two notions both increase efficiency and ease the writing of programs, being a step to smoother integration of parallel computing into the functional programming paradigm.
Document type :
Complete list of metadata
Contributor : Rapport de Recherche Inria <>
Submitted on : Tuesday, May 23, 2006 - 5:35:13 PM
Last modification on : Monday, November 16, 2020 - 1:06:01 PM
Long-term archiving on: : Sunday, April 4, 2010 - 8:16:35 PM


  • HAL Id : inria-00071452, version 1



François Clément, Roberto Di cosmo, Zheng Li, Vincent Martin, Arnaud Vodicka, et al.. Parallel Programming with the System Applications to Numerical Code Coupling. [Research Report] RR-5131, INRIA. 2004. ⟨inria-00071452⟩



Record views


Files downloads