The Scalable Modeling System: directive-based code parallelization for distributed and shared memory computers

A directive-based parallelization tool called the Scalable Modeling System (SMS) is described. The user inserts directives in the form of comments into existing Fortran code. SMS translates the code and directives into a parallel version that runs efficiently on shared and distributed memory high-performance computing platforms including the SGI Origin, IBM SP2, Cray T3E, Sun, and Alpha and Intel clusters. Twenty directives are available to support operations including array re-declarations, inter-process communications, loop translations, and parallel I/O operations. SMS also provides tools to support incremental parallelization and debugging that significantly reduces code parallelization time from months to weeks of effort. SMS is intended for applications using regular structured grids that are solved using finite difference approximation or spectral methods. It has been used to parallelize 10 atmospheric and oceanic models, but the tool is sufficiently general that it can be applied to other structured grids codes. Recent performance comparisons demonstrate that the Eta, Hybrid Coordinate Ocean model and Regional Ocean Modeling System model, parallelized using SMS, perform as well or better than their OpenMP or Message Passing Interface counterparts.

[1]  Anthony M. Sloane,et al.  Eli: a complete, flexible compiler construction system , 1992, CACM.

[2]  J. Michalakes,et al.  Design of a next-generation regional weather research and forecast model. , 1999 .

[3]  Guy L. Steele,et al.  The High Performance Fortran Handbook , 1993 .

[4]  Robert W. Numrich,et al.  Co-array Fortran for parallel programming , 1998, FORF.

[5]  Rainer Bleck,et al.  Salinity-driven Thermocline Transients in a Wind- and Thermohaline-forced Isopycnic Coordinate Model of the North Atlantic , 1992 .

[6]  Rainer Bleck,et al.  An oceanic general circulation model framed in hybrid isopycnic-Cartesian coordinates , 2002 .

[7]  Alexander F. Shchepetkin,et al.  Model evaluation experiments in the North Atlantic Basin : simulations in nonlinear terrain-following coordinates , 2000 .

[8]  Alexander E. MacDonald,et al.  QNH: Design and Test of a Quasi-Nonhydrostatic Model for Mesoscale Weather Prediction , 2000 .

[9]  N. Heaps,et al.  Three-dimensional coastal ocean models , 1987 .

[10]  Akio Arakawa,et al.  Computational Design of the Basic Dynamical Processes of the UCLA General Circulation Model , 1977 .

[11]  Michael Frumkin,et al.  Implementation of NAS Parallel Benchmarks in High Performance Fortran , 2000 .

[12]  John Michalakes Flic: a Translator for Same-source Parallel Implementation of Regular Grid Applications , 1997 .

[13]  Cos S. Ierotheou,et al.  Computer Aided Parallelisation Tools (CAPTools) - Conceptual Overview and Performance on the Parallelisation of Structured Mesh Codes , 1996, Parallel Comput..

[14]  Bernardo Rodriguez,et al.  Parallelizing Operational Weather Forecast Models for Portable and Fast Execution , 1996, J. Parallel Distributed Comput..

[15]  T. Henderson,et al.  PERFORMANCE ANALYSIS OF THE SCALABLE MODELING SYSTEM , 2003 .

[16]  William Gropp,et al.  Skjellum using mpi: portable parallel programming with the message-passing interface , 1994 .

[17]  V. Balaji,et al.  PARALLEL NUMERICAL KERNELS FOR CLIMATE MODELS , 2001 .

[18]  Matthew T. O'Keefe,et al.  A Comparison of Data-Parallel and Message-Passing Versions of the Miami Isopycnic Coordinate Ocean Model (MICOM) , 1995, Parallel Comput..

[19]  Abdul Waheed,et al.  A Comparison of Automatic Parallelization Tools/Compilers on the SGI Origin 2000 , 1998, Proceedings of the IEEE/ACM SC98 Conference.

[20]  J. Michalakes Same-source parallel implementation of the PSU/NCAR MM5 , 1997 .

[21]  L. Snyder,et al.  Portable Performance of Data Parallel Languages , 1997, ACM/IEEE SC 1997 Conference (SC'97).

[22]  Thomas E. Rosmond,et al.  The Second–Generation Global Forecast System at the Central Weather Bureau in Taiwan , 1997 .