MPIbench Home Page
Description:
- 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
Characterization Benchmarks)
- Remember, your machine should be dead quiet to produce accurate results.
Features:
- 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.
Functions:
- 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:
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:
4 4.316489
8 244.140625
16 496.220795
32 1008.845581
64 1896.237915
128 2292.400146
256 7923.428223
512 6994.180664
1024 29425.611328
2048 55506.214844
4096 75483.093750
8192 112612.609375
16384 126454.226562
32768 157232.703125
65536 131010.085938
Bug Reports
Bugs should be submitted to the LLCbench Mailing List.
Author
LLCbench was written by Philip J. Mucci of the Innovative Computing Laboratory.
Copyright
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.