
                             PPerfMark:
       An MPI Parallel Performance Analysis Tool Validation Suite
                 Kathryn Mohror and Karen Karavanic
                      Portland State University
                              June 2004


This is an alpha version of PPerfMark for testing performance tool support for
MPI-2 features.  The programs included here are designed to have easily known
behavior. Performance tool developers can use these programs to evaluate the 
findings of their tool for MPI-2 applications.

These programs have been tested with LAM/MPI 7.0.4 and MPICH2-0.962 beta.
They have been tested on Linux Redhat 7.2 and Redhat Fedora Core release 1.

Please direct questions or comments to  Kathryn Mohror (kathryn@cs.pdx.edu).

*** allCount ***
   This program uses a known number of Puts, Gets, and Accumulates to transfer a
known amount of data to and from an RMA window.

*** winCreateBlast ***
   This program creates and deallocates a large number of RMA windows very 
quickly.

*** winFenceSync ***
   This program uses MPI_Win_fence for synchronization.  An artificial 
bottleneck is introduced in rank 0, which makes it late to the fence operation.

*** winScpwSync ***
   This is similar to winFenceSync, except that Start/Complete, Post/Wait 
synchronization is used.

*** spawnCount ***
   This program spawns a known number of child processes.  The child processes
simply exit.

*** spawnSync ***
   This program spawns children and then sends a known number of messages on an 
intracommunicator between the parent and child processes.  An artificial 
bottleneck is introduced in the parent process. 

*** spawnWinSync ***
   This program spawns child processes and then sets up an RMA window over an 
intracommunicator between the parent and child processes.  There is an 
artificial bottleneck in the parent process. 

Copyright (c) 2004 Kathryn Mohror and Karen Karavanic.  All rights reserved.

