Skip to content
nadyawilliams edited this page Jun 7, 2014 · 1 revision

bounce http://www.sourceforge.net/projects/subounce

Table of Contents

Initial steps

Create directory structure in the shared applications mount point:

 # cd /share/apps
 # mkdir benchmarks
 # mkdir benchmarks/bounce
 # cd benchmarks/bounce

Get the source:

Bounce is available on Sourceforge: http://sourceforge.net/projects/subounce/ Once you've downloaded the package, copy it to your master node and unpack it.

 # cd /share/apps/benchmarks/bounce
 # tar -zxvf bounce-1.1.tgz

Build the application:

If you've installed the PGI Roll from Clustercorp:

 # /opt/mpich/pgi/bin/mpif90 -o bounce bounce.f

Using the default GNU MPI F77 wrapper script:

 # /opt/mpich/gnu/bin/mpif77 -o bounce bounce.f

Running bounce MPI F90

Now we've built bounce. There are many ways to run it, I'll show how to use it with an interactive PBS session and also a PBS script.

First, running in an interactive PBS session:

Prepare an output directory to write data at the location where you want to test performance. I'll assume you have all directories on the master node, and want to write output files in the home directory.

 $ su - user
 $ mkdir output_files

Start the Interactive session:

 $ mpiexec /share/apps/benchmarks/bounce/bounce

Using a PBS Script:

 #PBS -N BOUNCE
                                                                                                  
 #PBS -e BOUNCE.err
                                                                                                  
 #PBS -o BOUNCE.out
                                                                                                  
 #PBS -m aeb
                                                                                                  
 #PBS -M user
                                                                                                  
 #PBS -l nodes=[n]:ppn=[p]
                                                                                                   
 #PBS -l walltime=30:00:00
                                                                                                  
 PBS_O_WORKDIR='/home/user/output_files'
 export PBS_O_WORKDIR
                                                                                                  
 ### ---------------------------------------
 ### BEGINNING OF EXECUTION
 ### ---------------------------------------
                                                                                                  
 echo The master node of this job is `hostname`
 echo The working directory is `echo $PBS_O_WORKDIR`
 echo This job runs on the following nodes:
 echo `cat $PBS_NODEFILE`
                                                                                                  
 ### end of information preamble
                                                                                                  
 cd $PBS_O_WORKDIR
 cmd="mpiexec /share/apps/benchmarks/bounce/bounce"
 echo "running bounce with: $cmd in directory "`pwd`
 $cmd >& $PBS_O_WORKDIR/log.bounce.$PBS_JOBID

Notes for MPI F77 usage

Here are the differences when using the MPI F77 wrapper

Start the Interactive session:

 $ export P4_GLOBMEMSIZE=10000000
 $ mpiexec /share/apps/benchmarks/bounce/bounce

Changes to the PBS Script:

 export P4_GLOBMEMSIZE=10000000

Viewing output

The output will print to the screen when running in the interactive session, example shown:

 Number of processors =           8
 msglen =        0 bytes,          elapsed time =    0.0028 msec
 msglen =       80 bytes,          elapsed time =    0.0033 msec
 msglen =      800 bytes,          elapsed time =    0.0052 msec
 msglen =     8000 bytes,          elapsed time =    0.0201 msec
 msglen =    80000 bytes,          elapsed time =    0.1330 msec
 msglen =   800000 bytes,          elapsed time =    1.5676 msec
 msglen =  8000000 bytes,          elapsed time =   16.0261 msec
 latency =   2.8 microseconds
 bandwidth =   499.185703321457       MBytes/sec
 (approximate values for mp_bsend/mp_brecv)

The PBS script example redirects it to a file starting with the name log.bounce appending the PBS JOB ID and frontend name, example:

 Number of processors =           8
 msglen =        0 bytes,          elapsed time =    0.0028 msec
 msglen =       80 bytes,          elapsed time =    0.0033 msec
 msglen =      800 bytes,          elapsed time =    0.0052 msec
 msglen =     8000 bytes,          elapsed time =    0.0201 msec
 msglen =    80000 bytes,          elapsed time =    0.1330 msec
 msglen =   800000 bytes,          elapsed time =    1.5676 msec
 msglen =  8000000 bytes,          elapsed time =   16.0261 msec
 latency =   2.8 microseconds
 bandwidth =   499.185703321457       MBytes/sec
 (approximate values for mp_bsend/mp_brecv)

Category:Benchmarks

Clone this wiki locally