Visible to Intel only — GUID: GUID-E7A0999E-8BBE-4C8B-89BF-52CD5B1B913B
Visible to Intel only — GUID: GUID-E7A0999E-8BBE-4C8B-89BF-52CD5B1B913B
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
time is measured in μsec.
X is the length of a message, in bytes.
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
time is measured in μsec.
X is the length of a message, in bytes.
N is the number of target processes.
NOTE:The final throughput value is multiplied by the amount of target processes since the transfer is performed to every process except the origin process itself.
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.