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
higher precision calculation of Gauss quadrature weights and
locations and of Associated Legendre Polynomials and their
derivatives, eliminating a numerical stability problem in the
original STSWM code;
Fourier transform routines that can handle transform lengths
with factors 2-3-5;
compile-time options to use platform-specific math library
routines for FFTs and memory copies;
checkpoint/restart;
code to guarantee that certain fields are not vertically
decomposed during semi-implicit timestepping in spectral space,
to more accurately represent parallel 3D spectral atmospheric
models;
runtime options to use synchronous MPI point-to-point communication
routines (in addtion to the blocking, nonblocking, and ready
commands already supported);
runtime options to use SHMEM put/get one-sided messaging for the
performance critical message-passing;
runtime options to call MPI collective communication routines;
compile-time options to use vector-friendly alternative
implementations of performance-critical routines;
runtime option to execute multiple simultaneous serial
experiments on a parallel system;
runtime option to run in a subset of the available processors,
leaving some processors idle.
Version 6.9 comes with makefiles for the following platforms
Cray T3E
Cray X1
HP AlphaServer SC
HP AlphaServer GS (Marvel)
HP Exemplar
IBM SP (including both Power3 and Power4 clusters)
Linux/MPICH
NEC SX5
NEC SX6
SGI Altix
SGI Origin
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.
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)
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)
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
P. H. Worley and B. Toonen,
A users' guide to PSTSWM,
ORNL Technical Report ORNL/TM-12779, July 1995.
(232512 bytes) [user guide for PSTSWM v4.0]
I. T. Foster and P. H. Worley,
Parallel algorithms for the spectral transform method,
SIAM J. Sci. Stat. Comput., 18(3), 1997, pp. 806-837.
(348249 bytes) [paper describing the results of the parallel
algorithm comparison research that motivated the development of
PSTSWM]
P. H. Worley and I. T. Foster,
Parallel Spectral Transform Shallow Water Model: A runtime-tunable
parallel benchmark code,
in Proceedings of the Scalable High Performance Computing Conference,
eds. J. J. Dongarra and D. W. Walker, IEEE Computer Society Press, 1994,
pp. 207-214. (118239 bytes) [paper that uses PSTSWM in describing a
new methodology for benchmarking parallel computers]
J. Brehm, P. H. Worley, and M. Madhukar,
Performance Modeling for SPMD Message-Passing Programs,
Concurrency: Practice and Experience, 10(5),
April 1998, pp. 333-357.
(370036 bytes) [paper describing performance modeling study using PSTSWM]
P. H. Worley,
Impact of Communication Protocol on Performance,
in Proceeedings of the Second International Workshop on Software Engineering
and Code Design in Parallel Meteorological and Oceanographic Applications,
Scottsdale, AZ, June 15 - 18, 1998, NASA Conference Publication 1998-206860
pp. 277-288. (366671 bytes) [paper describing MPI performance
sensitivity studies using PSTSWM]
J. B. Drake, S. Hammond, R. James, P. H. Worley,
Performance Tuning and Evaluation of a Parallel Community Climate Model,
in Proceedings of the ACM/IEEE Conference on High Performance
Networking and Computing (SC99),
Portland, OR, November 13-19, 1999. (179645 bytes) [paper describing
using PSTSWM to tune the parallel performance of the Parallel
Community Climate Model]
P. H. Worley,
Performance Evaluation of the IBM SP and the Compaq AlphaServer SC
,
in Proceedings of the ACM International Conference of Supercomputing 2000,
Santa Fe, New Mexico, May 8 - 11, 2000.
(216303 bytes) [paper containing PSTSWM
performance results on the Compaq AlphaServer SC and the IBM SP]
P. H. Worley, T. H. Dunigan, Jr., M. R. Fahey, J. B. White III, A. S. Bland,
Early Evaluation of the IBM p690,
in Proceedings of the ACM/IEEE Conference on High Performance
Networking and Computing (SC02),
Baltimore, MD, November 16-22, 2002. (243912 bytes) [paper containing PSTSWM
performance results on the IBM p690]
P. H. Worley,
Scaling the Unscalable: A Case Study on the AlphaServer SC,
in Proceedings of the ACM/IEEE Conference on High Performance
Networking and Computing (SC02),
Baltimore, MD, November 16-22, 2002. (199069 bytes) [paper containing PSTSWM
performance results on the HP AlphaServer SC]
T. H. Dunigan, Jr., M. R. Fahey, J. B. White III, P. H. Worley, ,
Early Evaluation of the Cray X1,
in Proceedings of the ACM/IEEE Conference on High Performance
Networking and Computing (SC03),
Phoenix, AZ, November 15-21, 2003. (331411 bytes) [paper containing PSTSWM
performance results on the Cray X1]
Patrick H. Worley / (worleyph@ornl.gov)
Last Modified Monday, 29-Dec-2003 14:46:53 EST.
188259 accesses since 1/2/96.