MPIbench Home Page
- This is a program to measure the performance of some
critical MPI functions. By critical we mean that
the behavior of these functions can dominate the run time of a distributed application.
- MPBench has now been integrated into LLCbench (Low Level
- Remember, your machine should be dead quiet to produce accurate results.
- Packaging of datafiles for machines without GNUplot.
- Automated build, execution and result processing.
- Generates postscript graphs using GNUplot.
- Safe from aggressive optimizating compilers.
- Tunable run time parameters to reduce test domain.
- Configurable cache flushing.
- MPI_Send()/MPI_Recv() Bandwidth (Kb/second vs. bytes)
- MPI_Send()/MPI_Recv() Application latency or Gap time (us vs. bytes)
- MPI_Send()/MPI_Recv() Roundtrip or 2 * Latency (trns/second vs. bytes)
- MPI_Send()/MPI_Recv() BidirectionalBandwidth (Kb/second vs. bytes)
- MPI_Bcast() broadcast (Kb/second vs. bytes)
- MPI_Reduce() reduction (sum) (Kb/second vs. bytes)
- MPI_AllReduce() reduction (sum) (Kb/second vs. bytes)
- MPI_Alltoall() Each process sends to every other process (Kb/sec vs. bytes)
Usage: (MPI implementation dependent portion) mpi_bench -blracyz [-i #] [-x #] [-m #] [-d #] [-e #]
-b Do bandwidth benchmark
-d Do bidirectional bandwidth benchmark
-l Do latency benchmark
-r Do roundtrip benchmark
-a Do all-to-all benchmark
-c Do broadcast benchmark
-y Do reduce benchmark
-z Do allreduce benchmark
-i Specify the iterations over which to average.
-x Specify the number of measurements between powers of 2.
-m Specify the log base 2 of the maximum message size.
-e Specify the repeat count per message size.
-f Flush the cache between message sizes.
-F Flush the cache between repeats.
-X Flush the cache between iterations.
-M num[bBkKmM],num[bBkKmM]...Fix message sizes in B (default), kB or MB (base 2) to use.
Defaults in make.def: -bdlracyz -i100 -x2 -m16 -e1 (with 16 MPI processes)
The output looks like this:
Bugs should be submitted to the LLCbench Mailing List.
LLCbench was written by Philip J. Mucci of the Innovative Computing Laboratory.
This software is COMPLETELY OPEN SOURCE. If you incorporate any portion of this software, I would appreciate an acknowledgement in the appropriate places. Should you find LLCbench useful, please considering making a contribution in the form of hardware, software or plain old cash.