CAPLib - a 'thin layer' message passing library to support computational mechanics codes on distributed memory parallel systems

Citation
Pf. Leggett et al., CAPLib - a 'thin layer' message passing library to support computational mechanics codes on distributed memory parallel systems, ADV EN SOFT, 32(1), 2000, pp. 61-83
Citations number
19
Categorie Soggetti
Computer Science & Engineering
Journal title
ADVANCES IN ENGINEERING SOFTWARE
ISSN journal
09659978 → ACNP
Volume
32
Issue
1
Year of publication
2000
Pages
61 - 83
Database
ISI
SICI code
0965-9978(200012)32:1<61:C-A'LM>2.0.ZU;2-1
Abstract
The Computer Aided Parallelisation Tools (CAPTools) [Ierotheou, C, Johnson SP, Cross M, Leggett PF, Computer aided parallelisation tools (CAPTools)-co nceptual overview and performance on the parallelisation of structured mesh codes, Parallel Computing, 1996;22:163-195] is a set of interactive tools aimed to provide automatic parallelisation of serial FORTRAN Computational Mechanics (CM) programs. CAPTools analyses the user's serial code and then through stages of array partitioning, mask and communication calculation, g enerates parallel SPMD (Single program Multiple Data) messages passing FORT RAN. The parallel code generated by CAPTools contains calls to a collection of r outines that form the CAPTools communications Library (CAPLib). The library provides a portable layer and user friendly abstraction over the underlyin g parallel environment. CAPLib contains optimised message passing routines fur data exchange between parallel processes and other utility routines for parallel execution control, initialisation and debugging, By compiling and linking with different implementations of the library, the user is able to run on many different parallel environments. Even with today's parallel systems the concept of a single version of a par allel application code is more of an aspiration than a reality. However for CM codes the data partitioning SPMD paradigm requires a relatively small s et of message-passing communication calls. This set can be implemented as a n intennediate 'thin layer' library of message-passing calls that enables t he parallel code (especially that generated automatically by a parallelisat ion tool such as CAPTools) to be as generic as possible. CAPLib is just such a 'thin layer' message passing library that supports pa rallel CM codes, by mapping generic calls onto machine specific libraries ( such as GRAY SHMEM) and portable general purpose libraries (such as PVM an MPI). This paper describe CAPLib together with its: three perceived advanta ges over other routes: as a high level abstraction, it is both easy to understand (especially when generated automatically by tools) and to implement by hand, for the CM com munity (who are not generally parallel computing specialists); the one parallel version of the application code is truly generic and porta ble; the parallel application can readily utilise whatever message passing libra ries on a given machine yield optimum performance. (C) 2000 Elsevier Scienc e Ltd. All rights reserved.