LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::ssa::SsaParallelSolution< T > Struct Template Reference

What the replicated analyzer returns. More...

#include <line/solvers/ssa/solver_ssa_parallel.h>

Collaboration diagram for line::ssa::SsaParallelSolution< T >:

Public Attributes

SsaSolution avg
 The replica MEAN; method = "parallel".
std::vector< SsaSolutionreplica
 The R per-replica estimates, in replica order.
std::vector< unsigned long > seed
 The stream each replica ran on: base_seed + r.
std::size_t nreplicas = 0
std::size_t samples_per_replica = 0
 ceil(samples / R): the firings EACH replica performed.
std::size_t samples_requested = 0
 opt.samples: the budget asked for, which R * samples_per_replica rounds up.
unsigned long base_seed = 0
Matrix< double > QN_sem
 Standard error of the replica mean, per metric: s / sqrt(R) with s the sample standard deviation ACROSS the R replica estimates.
Matrix< double > UN_sem
Matrix< double > RN_sem
Matrix< double > TN_sem
std::vector< double > XN_sem
std::vector< double > CN_sem
std::vector< SsaCacheRatiocache
 The Cache write-back of the reference's final loop, averaged over replicas.

Detailed Description

template<class T>
struct line::ssa::SsaParallelSolution< T >

What the replicated analyzer returns.

The per-replica tables are kept, not just their mean, because the mean alone cannot be audited: a caller who wants a different confidence level, a different combination rule or a look at whether one replica is an outlier needs the R numbers. What is NOT kept is the R sample paths – each is samples_per_replica long and the estimator never looks at them again.

Definition at line 106 of file solver_ssa_parallel.h.

Member Data Documentation

◆ avg

template<class T>
SsaSolution line::ssa::SsaParallelSolution< T >::avg

The replica MEAN; method = "parallel".

Definition at line 108 of file solver_ssa_parallel.h.

Referenced by line::ssa::solver_ssa_parallel_analyzer().

◆ base_seed

template<class T>
unsigned long line::ssa::SsaParallelSolution< T >::base_seed = 0

Definition at line 119 of file solver_ssa_parallel.h.

Referenced by line::ssa::solver_ssa_parallel_analyzer().

◆ cache

template<class T>
std::vector<SsaCacheRatio> line::ssa::SsaParallelSolution< T >::cache

The Cache write-back of the reference's final loop, averaged over replicas.

Definition at line 135 of file solver_ssa_parallel.h.

Referenced by line::ssa::solver_ssa_parallel_analyzer().

◆ CN_sem

template<class T>
std::vector<double> line::ssa::SsaParallelSolution< T >::CN_sem

Definition at line 132 of file solver_ssa_parallel.h.

Referenced by line::ssa::solver_ssa_parallel_analyzer().

◆ nreplicas

template<class T>
std::size_t line::ssa::SsaParallelSolution< T >::nreplicas = 0

Definition at line 114 of file solver_ssa_parallel.h.

Referenced by line::ssa::solver_ssa_parallel_analyzer().

◆ QN_sem

template<class T>
Matrix<double> line::ssa::SsaParallelSolution< T >::QN_sem

Standard error of the replica mean, per metric: s / sqrt(R) with s the sample standard deviation ACROSS the R replica estimates.

NOT in the reference, which returns the mean alone. It is here because a replicated estimate whose between-replica spread is discarded is indistinguishable from a single long run, and the whole reason to replicate is that the two have different error bars. NaN when R = 1, where no spread is observable – which is the correct report, not zero.

Definition at line 131 of file solver_ssa_parallel.h.

Referenced by line::ssa::solver_ssa_parallel_analyzer().

◆ replica

template<class T>
std::vector<SsaSolution> line::ssa::SsaParallelSolution< T >::replica

The R per-replica estimates, in replica order.

Definition at line 110 of file solver_ssa_parallel.h.

Referenced by line::ssa::solver_ssa_parallel_analyzer().

◆ RN_sem

template<class T>
Matrix<double> line::ssa::SsaParallelSolution< T >::RN_sem

Definition at line 131 of file solver_ssa_parallel.h.

Referenced by line::ssa::solver_ssa_parallel_analyzer().

◆ samples_per_replica

template<class T>
std::size_t line::ssa::SsaParallelSolution< T >::samples_per_replica = 0

ceil(samples / R): the firings EACH replica performed.

Definition at line 116 of file solver_ssa_parallel.h.

Referenced by line::ssa::solver_ssa_parallel_analyzer().

◆ samples_requested

template<class T>
std::size_t line::ssa::SsaParallelSolution< T >::samples_requested = 0

opt.samples: the budget asked for, which R * samples_per_replica rounds up.

Definition at line 118 of file solver_ssa_parallel.h.

Referenced by line::ssa::solver_ssa_parallel_analyzer().

◆ seed

template<class T>
std::vector<unsigned long> line::ssa::SsaParallelSolution< T >::seed

The stream each replica ran on: base_seed + r.

Definition at line 112 of file solver_ssa_parallel.h.

Referenced by line::ssa::solver_ssa_parallel_analyzer().

◆ TN_sem

template<class T>
Matrix<double> line::ssa::SsaParallelSolution< T >::TN_sem

Definition at line 131 of file solver_ssa_parallel.h.

Referenced by line::ssa::solver_ssa_parallel_analyzer().

◆ UN_sem

template<class T>
Matrix<double> line::ssa::SsaParallelSolution< T >::UN_sem

Definition at line 131 of file solver_ssa_parallel.h.

Referenced by line::ssa::solver_ssa_parallel_analyzer().

◆ XN_sem

template<class T>
std::vector<double> line::ssa::SsaParallelSolution< T >::XN_sem

Definition at line 132 of file solver_ssa_parallel.h.

Referenced by line::ssa::solver_ssa_parallel_analyzer().


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