The most common parallelisation strategy for many Computational Mechanics (
CM) (typified by Computational Fluid Dynamics (CFD) applications) which use
structured meshes, involves a 1D partition based upon slabs of cells. Howe
ver, many CFD codes employ pipeline operations in their solution procedure.
For parallelised versions of such codes to scale well they must employ two
(or more) dimensional partitions. This paper describes an algorithmic appr
oach to the multi-dimensional mesh partitioning in code parallelisation, it
s implementation in a toolkit for almost automatically transforming scalar
codes to parallel form, and its testing on a range of 'real-world' FORTRAN
codes. The concept of multi-dimensional partitioning is straightforward, bu
t non-trivial to represent as a sufficiently generic algorithm so that it c
an be embedded in a code transformation tool. The results of the tests on f
ine real-world codes demonstrate clear improvements in parallel performance
and scalability (over a 1D partition). This is matched by a huge reduction
in the time required to develop the parallel versions when hand coded - fr
om weeks/months down to hours/days. (C) 2000 Elsevier Science B.V. All righ
ts reserved.