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
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.