BryanMCarroll / Ping-Pong_MPI_Performance_Tester

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ping-Pong MPI Performance Tester
written by Bryan Carroll

This program steps through every pair of MPI processes and measures the bandwidth 
between them by sending messages of determined size between the pair multiple times and
calculating the average speed. Note that the measured bandwidth only takes into account
the buffer data. The MPI and network overhead are not taken into account. If you want to
know the overall bandwidth, you will need to take those into account. The results are
output to the perftest.txt file. 

By setting a larger END_SIZE than the START_SIZE in the source, the program will measure
the bandwidth of increasing message size by increasing the number of elements 
by the MULTIPLIER size until it surpasses the END_SIZE. For example, say you have

#define START_SIZE 100
#define END_SIZE 100000
#define MULTIPLIER 10
#define ITERATIONS 30.

The first pair of processes will send messages of 100 elements back and forth 30
times for a total of 60 messages. Then the average speed will be recorded into
perftest.txt. Then that same pair of processes will do the same with 100 * 10 = 1000
elements; then 1000 * 10 = 10,000 elements and 10,000 * 10 = 100,000 after that. Then
the next pair of processes will do the same and then the next pair and so on.

About


Languages

Language:C 95.9%Language:Shell 4.1%