FPMPI-2

Features


FPMPI is a simple MPI profiling library. It is intended as a first step towards
understanding the nature of the communication patterns and potential bottlenecks
in existing applications.

Applications run which are linked to FPMPI will generate an output file, fpmpi_profile.txt.
This file contains:

An example fpmpi_profile.txt file is shown below. This file was generated by a two process execution
on a single processor PC Workstation running Windows 2000, using MPICH.
The application is the simple example all_pair.c, which is distributed with FPMPI.


fpmpi_profile.txt
MPI Routine Statistics
Explanation of data:
Times are the time to perform the operation, e.g., the time for MPI_Send
Average times are the average over all processes, e.g., sum (time on each
process) / number of processes
Min and max values are over all processes
(Data is always average/min/max)
Amount of data is computed in bytes.  For point-to-point operations,
it is the data sent or received.  For collective operations, it is the
data contibuted to the operation.  E.g., for an MPI_Bcast, the amount of
data is the number of bytes provided by the root, counted only at the root.
For synchronizing collective operations, the average, min, and max time
spent synchronizing is shown next.
Calls by message size shows the fraction of calls that sent messages of a 
particular size.  The bins are
0 bytes, 1-4 bytes, 5-8 bytes, 9-16, 17-32, 33-64, -128, -256, -512, -1024
 -4K, -8K, -16K, -32K, -64K, -128K, -256K, -512K, -1M, -4M, -8M, -16M, 
 -32M, -64M, -128M, -256M, -512M, -1GB, >1GB.
Each bin is represented by a single digit, representing the 10's of percent
of messages within this bin.  A 0 represents precisely 0, a . (period) 
represents more than 0 but less than 10%.  A * represents 100%.
Messages by message size shows similar information, but for the total
message size.

The experimental topology information shows the 1-norm distance that the
longest point-to-point message travelled, by process.

MPI_Pcontrol may be used to control the collection of data
Command: F:\Home\Kris\fpmpi-dev\example\all_pair.exe

Date:	Fri Jul 30 04:01:38 2004
Processes:	2
Execute time:	0.078
Timing Stats: [seconds]	[min/max]    	[min rank/max rank]
  wall-clock: 0.078 sec	0.031000 / 0.125000	1 / 0
                         Routine	Calls	ave time	min time	max time	ave len	        min len	        max len	        ave sync	min sync	max sync	           Calls by message size	          % data by message size
                         Routine	Calls	ave time	min time	max time	ave len         min len         max len	        Calls by message size	        % data by message size
                        MPI_Send	6	0.000014	0.000000	0.000015	4532.000000	0.000000	7464.000000	20000000008000000000000000000	0000000000*000000000000000000
                    MPI_Sendrecv	3	0.000071	0.000000	0.000087	800.000000	0.000000	1600.000000	60000000003000000000000000000	0000000000*000000000000000000
            MPI_Sendrecv_replace	1	0.000032	0.000000	0.000065	1332.000000	0.000000	2664.000000	00000000009000000000000000000	0000000000*000000000000000000
                       MPI_Isend	2	0.000006	0.000000	0.000009	1600.000000	0.000000	1600.000000	0000000000*000000000000000000	0000000000*000000000000000000
                      MPI_Issend	2	0.000007	0.000000	0.000008	2664.000000	0.000000	2664.000000	0000000000*000000000000000000	0000000000*000000000000000000
                      MPI_Irsend	2	0.000009	0.000000	0.000009	2664.000000	0.000000	2664.000000	0000000000*000000000000000000	0000000000*000000000000000000
                       MPI_Rsend	1	0.000002	0.000000	0.000005	800.000000	0.000000	1600.000000	00000000009000000000000000000	0000000000*000000000000000000
                       MPI_Ssend	2	0.000052	0.000000	0.000054	2664.000000	0.000000	2664.000000	0000000000*000000000000000000	0000000000*000000000000000000
                        MPI_Recv	10	0.000313	0.000000	0.000439	9328.000000	0.000000	12792.000000	10000000009000000000000000000	0000000000*000000000000000000
                       MPI_Irecv	5	0.000005	0.000000	0.000006	20000.000000	0.000000	24000.000000	00000000000*00000000000000000	00000000000*00000000000000000
                     MPI_Waitall	3	0.000052	0.000002	0.000102
                     MPI_Waitany	2	0.000053	0.000000	0.000106
                    MPI_Waitsome	2	0.000035	0.000000	0.000070
                     MPI_Testall	4	0.000070	0.000000	0.000140
                    MPI_Testsome	4	0.000076	0.000000	0.000151
                      MPI_Iprobe	5	0.000030	0.000000	0.000061
                       MPI_Probe	1	0.000023	0.000000	0.000046
                    MPI_Comm_dup	2
    MPI_Comm_dup(MPI_COMM_WORLD)	2
1-norm distance of point-to-point with an assumed 2-d topology
  1  1

Detailed partner data: source dest1 dest2 ...
0 1 
1 0