Skip to content

Performance discrepancy of PingPing vs SendRecv #71

Description

@sushma-4

Using IntelOneAPI/2025.2 with IMPI v2021.16 in IMB-MPI1 v2021.10

The official documentation says:

In the case of two processes, Sendrecv is equivalent to the PingPing benchmark of IMB1.x. For two processes, it reports the bidirectional bandwidth of the system, as obtained by the optimized MPI_Sendrecv function

But when I run it on the exactly same two cores, sendrecv outperforms pingping for all sizes:

mpirun -np 2 ./IMB-MPI1 .....

#bytes Mbytes/sec (PingPong) Mbytes/sec (PingPing) Mbytes/sec (SendRecv)
0 0 0 0
1 4.31 3.68 7.43
2 8.9 7.35 14.87
4 16.61 14.47 28.59
8 32.51 29.6 58.55
16 68.8 53.84 118.52
32 141.79 115.19 238.32
64 255.81 181.23 373.96
128 500.49 391.98 807.68
256 927.73 715.7 1512.49
512 1498.66 1203.17 2466.14
1024 2532.21 1998.36 3949.3
2048 4160.18 3214.35 6291.44
4096 5527.35 4414.81 9261.44
8192 6522.92 5468.8 11183.32
16384 7174.1 6546.23 12956.97
32768 7839.75 8239.51 17546.81
65536 10287.31 8336.17 18407
131072 11192.94 13060.11 26332.25
262144 18100.42 13692.36 27133.69
524288 19710.77 13276.27 22186.71
1048576 14577.86 8797.04 13967.69
2097152 13295.74 7716.41 15339.54
4194304 13594.43 7233.45 14542.28

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions