PSTSWM (Parallel Spectral Transform Shallow Water Model)

PSTSWM


Parallel Spectral Transform Shallow Water Model

Version 6.9 Now Available

PSTSWM is a message-passing benchmark code and parallel algorithm testbed that solves the nonlinear shallow water equations on a rotating sphere using the spectral transform method. It is a parallel implementation of STSWM, developed by J. J. Hack and R. Jacob at the National Center for Atmospheric Research (NCAR) and used to generate reference solutions for the shallow water test cases described in

PSTSWM was developed to evaluate parallel algorithms for the spectral transform method as it is used in global atmospheric circulation models. Multiple parallel algorithms are embedded in the code and can be selected at run-time, as can the problem size, number of processors, and data decomposition. Six different problem test cases are also supported, each with associated reference solutions and error analysis options.

PSTSWM is written in Fortran 77 with VMS extensions and a small number of C preprocessor directives. Message passing is implemented using MPI, MPI/SHMEM, PICL, PVM, and/or native message passing libraries, with the choice being made at compile time. Additionally, all message passing is encapsulated in three high level routines for broadcast, global minimum and global maximum, and in two classes of low level routines representing variants and/or stages of the swap operation and the send/receive operation. Porting the code to another message passing system requires either porting the PICL, MPI, or PVM libraries and/or implementing the (few) communication routines in PSTSWM using native message passing primitives.

Two versions of PSTSWM are available here. Version 4.0 was last modified in October of 1995. It is the basis of the codes used the PARKBENCH benchmark suite, and includes the PICL tracing and profiling library. Version 6.9 is the most recent version of the (still evolving) research code, which is used for benchmarking and performance analysis of high performance computing systems. It includes a number of features and modifications not found in version 4.0, including

Version 6.9 comes with makefiles for the following platforms and it is easily ported to most systems with an MPI library and a Fortran compiler. The PICL library is not included with the release of version 6.9. PICL is still used internally as an MPI profiling library, and is available upon request. Documentation of the new features in PSTSWM v6.9 is also missing, but the code is "backward compatible" with the original documentation. Updated documentation may appear someday, but it is unlikely. Questions should be directed to worleyph@ornl.gov.

To create PSTSWM v4.0, you need pstswm.v4.0.tar.Z. Use uncompress to generate pstswm.v4.0.tar. Next, untar pstswm.v4.0.tar to create the directory pstswm.v4. From within this directory, type "make" for information on what make parameters to use. The userguide should be used for additional information on compiling and for directions on executing the code. As of 4/1/95, PSTSWM v4.0 ran on the Cray Research T3D, the IBM SP-1 and SP-2, the Intel iPSC/2, iPSC/860, DELTA, and Paragon (on both GP and MP nodes and using either the NX or SUNMOS operating systems), the nCUBE/2 and nCUBE/2S, across a network of workstations, and on a Cray vector machine (as a serial application).

To create PSTSWM v6.9, you need pstswm.v6.9.tar.gz. Use gunzip to generate pstswm.v6.9.tar. Next, untar pstswm.v6.9.tar to create the directory pstswm.v6.9. From within this directory, type "make" for information on what make parameters to use. As with v4.0, the userguide should be used for additional information.

PSTSWM was originally developed by P. H. Worley at Oak Ridge National Laboratory and by I. T. Foster at Argonne National Laboratory as part of the Department of Energy CHAMMP research program. Worley has been responsible for most subsequent development.


Code

pstswm.v6.9.tar.gz
compressed tar archive file containing PSTSWM v6.9 Use gunzip and tar to generate the source directories. (839507 bytes)

pstswm.v4.0.tar.Z
compressed tar archive file containing PSTSWM v4.0 and PICL 2.0 source code. (PICL/MPL bug fix introduced 10/9/95.) Use uncompress and tar to generate the source directories. (1802756 bytes)

pstswm.v4.pvm.tar.Z
compressed tar archive file containing simplified PVM-only distribution of PSTSWM v4.0, as included in PARKBENCH v1.0 benchmark suite. Use uncompress and tar to generate the source directories. (534031 bytes)

pstswm.v4.mpi.tar.Z
compressed tar archive file containing simplified MPI-only distribution of PSTSWM v4.0, to be included in MPI version of PARKBENCH benchmark suite. Use uncompress and tar to generate the source directories. (548283 bytes)

Papers


Patrick H. Worley / (worleyph@ornl.gov)
Last Modified Monday, 29-Dec-2003 14:46:53 EST.
235886 accesses since 1/2/96.