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 compression, uint8_t level, std::string extension, int threadSize, Datatype dt, typename decltype(Series::iterations)::key_type 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 compression, uint8_t level, std::string extension, int threadSize, Datatype dt, typename decltype(Series::iterations)::key_type iterations)
 Retrieve the time measured for a certain compression strategy. More...
 

Public Attributes

MPI_Comm communicator
 
std::map< std::tuple< int, std::string, uint8_t, std::string, int, Datatype, typename decltype(Series::iterations)::key_type >, 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  compression,
uint8_t  level,
std::string  extension,
int  threadSize,
Datatype  dt,
typename decltype(Series::iterations)::key_type  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.
compressionCompression strategy.
levelCompression level
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  compression,
uint8_t  level,
std::string  extension,
int  threadSize,
Datatype  dt,
typename decltype(Series::iterations)::key_type  iterations 
)

Retrieve the time measured for a certain compression strategy.

Parameters
rankWhich MPI rank's duration results to retrieve.
compressionCompression strategy.
levelCompression level
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: