Classification of IMB-RMA Benchmarks

All the IMB-RMA benchmarks fall into the following categories:

Single Transfer

In these benchmarks, one process accesses the memory of another process, in unidirectional or bidirectional manner. Single Transfer IMB-RMA benchmarks only run on two active processes. Throughput values are measured in MBps and can be calculated as follows:

throughput = X/time,

where

Multiple Transfer

In these benchmarks, one process accesses the memory of several other processes.

Throughput values are measured in MBps and can be calculated as follows:

throughput = X/time * N, where

Parallel Transfer

This class contains benchmarks that operate on several processes in parallel. These benchmarks show bare timing values: maximum, minimum, and the average time among all the ranks participating in the benchmark measurements.

The table below lists all IMB-RMA benchmarks and specifies their properties:

Benchmark

Type

Aggregated Mode

Unidir_put

Single Transfer

Supported

Unidir_get

Single Transfer

Supported

Bidir_put

Single Transfer

Supported

Bidir_get

Single Transfer

Supported

One_put_all

Multiple Transfer

N/A

One_get_all

Multiple Transfer

N/A

All_put_all

Parallel Transfer

N/A

All_get_all

Parallel Transfer

N/A

Put_local

Single Transfer

Supported

Put_all_local

Multiple Transfer

N/A

Exchange_put

Parallel Transfer

N/A

Exchange_get

Parallel Transfer

N/A

Accumulate

Single Transfer

Supported

Get_accumulate

Single Transfer

Supported

Fetch_and_op

Single Transfer

Supported

Compare_and_swap

Single Transfer

Supported

Truly_passive_put

Single Transfer*

N/A

Get_local

Single Transfer

Supported

Get_all_local

Multiple Transfer

N/A

* The output format differs from the regular Single Transfer output. For details, see Truly_passive_put.