openPMD-api
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
openPMD::MPIBenchmarkReport< Duration > Struct Template Reference

The report for a single benchmark produced by <openPMD/benchmark/mpi/MPIBenchmark>. More...

#include <MPIBenchmarkReport.hpp>

Collaboration diagram for openPMD::MPIBenchmarkReport< Duration >:
Collaboration graph
[legend]

Public Types

enum  Selector {
  RANK = 0 , COMPRESSION , COMPRESSION_LEVEL , BACKEND ,
  NRANKS , DTYPE , ITERATIONS
}
 

Public Member Functions

 MPIBenchmarkReport (MPI_Comm)
 
void addReport (int rootThread, std::string jsonConfig, std::string extension, int threadSize, Datatype dt, Series::IterationIndex_t iterations, std::pair< Duration, Duration > const &report)
 Add results for a certain compression strategy and level. More...
 
std::pair< Duration, Duration > getReport (int rank, std::string jsonConfig, std::string extension, int threadSize, Datatype dt, Series::IterationIndex_t iterations)
 Retrieve the time measured for a certain compression strategy. More...
 

Public Attributes

MPI_Comm communicator
 
std::map< std::tuple< int, std::string, std::string, int, Datatype, Series::IterationIndex_t >, std::pair< Duration, Duration > > durations
 Time needed for writing and reading per compression strategy and level.
 

Detailed Description

template<typename Duration>
struct openPMD::MPIBenchmarkReport< Duration >

The report for a single benchmark produced by <openPMD/benchmark/mpi/MPIBenchmark>.

Template Parameters
DurationDatatype to be used for storing a time interval.

Member Function Documentation

◆ addReport()

template<typename Duration >
void openPMD::MPIBenchmarkReport< Duration >::addReport ( int  rootThread,
std::string  jsonConfig,
std::string  extension,
int  threadSize,
Datatype  dt,
Series::IterationIndex_t  iterations,
std::pair< Duration, Duration > const &  report 
)

Add results for a certain compression strategy and level.

Parameters
rootThreadThe MPI rank which will collect the data.
jsonConfigCompression strategy.
extensionThe openPMD filename extension.
threadSizeThe MPI size.
dtThe openPMD datatype.
iterationsThe number of iterations per compression strategy.
reportA pair of write and read time measurements.

◆ getReport()

template<typename Duration >
std::pair< Duration, Duration > openPMD::MPIBenchmarkReport< Duration >::getReport ( int  rank,
std::string  jsonConfig,
std::string  extension,
int  threadSize,
Datatype  dt,
Series::IterationIndex_t  iterations 
)

Retrieve the time measured for a certain compression strategy.

Parameters
rankWhich MPI rank's duration results to retrieve.
jsonConfigCompression strategy.
extensionThe openPMD filename extension.
threadSizeThe MPI size.
dtThe openPMD datatype.
iterationsThe number of iterations per compression strategy.
Returns
A pair of write and read time measurements.

The documentation for this struct was generated from the following file: