RSL is a parallel run-time system library for implementing regular-grid models with nesting on distributed memory parallel computers. RSL provides support for automatically decomposing multiple model domains and for redistributing work between processors at run time for dynamic load balancing. A unique feature of RSL is that processor subdomains need not be rectangular patches; rather, grid points are independently allocated to processors, allowing more precisely balanced allocation of work to processors. Communication mechanisms are tailored to the application: RSL provides an efficient high-level stencil exchange operation for updating subdomain ghost areas and interdomain communication to support two-way interaction between nest levels. RSL also provides run-time support for local iteration over subdomains, global-local index translation, and distributed I/O from ordinary Fortran record-blocked data sets. The interface to RSL supports Fortran77 and Fortran90. RSL has been used to parallelize the NCAR/Penn State Mesoscale Model (MM5).
[1]
John Michalakes.
Flic: a Translator for Same-source Parallel Implementation of Regular Grid Applications
,
1997
.
[2]
G. Grell,et al.
A description of the fifth-generation Penn State/NCAR Mesoscale Model (MM5)
,
1994
.
[3]
Jimy Dudhia,et al.
The Penn State/NCAR Mesoscale Model (MM5) source code documentation
,
1994
.
[4]
I. Foster,et al.
MPMM: A Massively Parallel Mesoscale Model
,
1992
.
[5]
William Gropp,et al.
Efficient Management of Parallelism in Object-Oriented Numerical Software Libraries
,
1997,
SciTools.
[6]
S.R. Kohn,et al.
A Parallel Software Infrastructure for Structured Adaptive Mesh Methods
,
1995,
Proceedings of the IEEE/ACM SC95 Conference.
[7]
Ravi S. Nanjundiah,et al.
Parallel implementation, validation, and performance of MM5
,
1994
.