Skip navigation

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

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

Leggett, P.F., Johnson, S.P and Cross, M. (2000) CAPLib - A 'thin layer' message passing library to support computational mechanics codes on distributed memory parallel systems. Advances in Engineering Software, 32 (1). pp. 61-83. ISSN 0965-9978 (doi:https://doi.org/10.1016/S0965-9978(00)00056-9)

Full text not available from this repository.

Abstract

The Computer Aided Parallelisation Tools (CAPTools) [Ierotheou, C, Johnson SP, Cross M, Leggett PF, Computer aided parallelisation tools (CAPTools)-conceptual 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, generates parallel SPMD (Single Program Multiple Data) messages passing FORTRAN.

The parallel code generated by CAPTools contains calls to a collection of routines that form the CAPTools communications Library (CAPLib). The library provides a portable layer and user friendly abstraction over the underlying parallel environment. CAPLib contains optimised message passing routines for 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 parallel application code is more of an aspiration than a reality. However for CM codes the data partitioning SPMD paradigm requires a relatively small set of message-passing communication calls. This set can be implemented as an intermediate `thin layer' library of message-passing calls that enables the parallel code (especially that generated automatically by a parallelisation tool such as CAPTools) to be as generic as possible.

CAPLib is just such a `thin layer' message passing library that supports parallel CM codes, by mapping generic calls onto machine specific libraries (such as CRAY SHMEM) and portable general purpose libraries (such as PVM an MPI). This paper describe CAPLib together with its three perceived advantages 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 community (who are not generally parallel computing specialists);
- the one parallel version of the application code is truly generic and portable;
- the parallel application can readily utilise whatever message passing libraries on a given machine yield optimum performance.

Item Type: Article
Additional Information: [1] Accepted: 25 February 2000. [2] First published online: 30 November 2000. [3] Published in print: January 2001
Uncontrolled Keywords: distributed memory parallel systems, computational mechanics software, CAPTools
Subjects: Q Science > QA Mathematics > QA76 Computer software
Pre-2014 Departments: School of Computing & Mathematical Sciences
School of Computing & Mathematical Sciences > Centre for Numerical Modelling & Process Analysis
School of Computing & Mathematical Sciences > Centre for Numerical Modelling & Process Analysis > Computational Science & Engineering Group
Related URLs:
Last Modified: 14 Oct 2016 09:00
URI: http://gala.gre.ac.uk/id/eprint/465

Actions (login required)

View Item View Item