openPMD-api
 
Loading...
Searching...
No Matches
openPMD::MPIBenchmarkReport< Duration > Struct Template Reference

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

#include <MPIBenchmarkReport.hpp>

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.
 
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.
 

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: