Intel® MPI Benchmarks User Guide and Methodology Description

# Uniband

The `Uniband` benchmark measures the cumulative bandwidth and message rate values. To achieve this, the first half of ranks communicates with the second half using `MPI_Isend/MPI_Recv/MPI_Wait` calls. In case of the odd number of processes, one of them does not participate in the message exchange. The bunch of `MPI_Isend` calls are issued by each rank in the first half of ranks to its counterpart from the second half of ranks. The number of messages issued at each iteration step is defined with the `MAX_WIN_SIZE` constant. The same buffer is used for every send event in the iteration.

## Uniband Definition

Property | Description
--- | ---
Measured pattern | (MAX_WIN_SIZE *MPI_Isend)/(MAX_WIN_SIZE *MPI_Irecv)/Waitall
MPI data type | `MPI_BYTE` (origin and target)
Reported message rate | `MAX_WIN_SIZE*N/MAX(process_timings)`, where `N` is the number of communicating pairs
Reported throughput | `MBps (msg_rate *size_in_bytes/ 1048576.0)`