hep-mc  0.8
Classes | Typedefs | Functions
Checkpointing system

Detailed Description

Saving the state of integrators.

A problem in long running integrations with many processors is that sometimes jobs are being killed, for example by the batch system of the computer cluster, because the run-time either wasn't properly estimated or because of a temporary hardware problem. Instead of restarting the entire integration, one can use previously stored checkpoints and continue the integration starting from last unfinished iteration.

Classes

class  hep::chkpt< Result >
 
class  hep::chkpt_with_rng< RandomNumberEngine, Checkpoint >
 
class  hep::multi_channel_chkpt< T >
 
class  hep::vegas_chkpt< T >
 

Typedefs

template<typename RandomNumberEngine , typename T >
using hep::multi_channel_chkpt_with_rng = chkpt_with_rng< RandomNumberEngine, multi_channel_chkpt< T > >
 
template<typename T >
using hep::default_multi_channel_chkpt = decltype(make_multi_channel_chkpt< T >())
 
template<typename T >
using hep::plain_chkpt = chkpt< plain_result< T > >
 
template<typename RandomNumberEngine , typename T >
using hep::plain_chkpt_with_rng = chkpt_with_rng< RandomNumberEngine, plain_chkpt< T > >
 
template<typename T >
using hep::default_plain_chkpt = decltype(make_plain_chkpt< T >())
 
template<typename RandomNumberEngine , typename T >
using hep::vegas_chkpt_with_rng = chkpt_with_rng< RandomNumberEngine, vegas_chkpt< T > >
 
template<typename T >
using hep::default_vegas_chkpt = decltype(make_vegas_chkpt< T >())
 

Functions

template<typename T , typename RandomNumberEngine = std::mt19937>
multi_channel_chkpt_with_rng< RandomNumberEngine, T > hep::make_multi_channel_chkpt (T min_weight=T(), T beta=T(0.25), RandomNumberEngine const &rng=std::mt19937())
 
template<typename T , typename RandomNumberEngine = std::mt19937>
multi_channel_chkpt_with_rng< RandomNumberEngine, T > hep::make_multi_channel_chkpt (std::vector< T > const &channel_weights, T min_weight=T(), T beta=T(0.25), RandomNumberEngine const &rng=std::mt19937())
 
template<typename T , typename RandomNumberEngine >
multi_channel_chkpt_with_rng< RandomNumberEngine, T > hep::make_multi_channel_chkpt (std::istream &in)
 
template<typename T , typename RandomNumberEngine = std::mt19937>
plain_chkpt_with_rng< RandomNumberEngine, T > hep::make_plain_chkpt (RandomNumberEngine const &generator=std::mt19937())
 
template<typename T , typename RandomNumberEngine >
plain_chkpt_with_rng< RandomNumberEngine, T > hep::make_plain_chkpt (std::istream &in)
 
template<typename T , typename RandomNumberEngine = std::mt19937>
vegas_chkpt_with_rng< RandomNumberEngine, T > hep::make_vegas_chkpt (std::size_t bins=128, T alpha=T(1.5), RandomNumberEngine const &rng=std::mt19937())
 
template<typename T , typename RandomNumberEngine = std::mt19937>
vegas_chkpt_with_rng< RandomNumberEngine, T > hep::make_vegas_chkpt (vegas_pdf< T > const &pdf, T alpha=T(1.5), RandomNumberEngine const &rng=std::mt19937())
 
template<typename T , typename RandomNumberEngine >
vegas_chkpt_with_rng< RandomNumberEngine, T > hep::make_vegas_chkpt (std::istream &in)
 

Typedef Documentation

◆ default_multi_channel_chkpt

template<typename T >
using hep::default_multi_channel_chkpt = typedef decltype (make_multi_channel_chkpt<T>())

Return type of make_multi_channel_chkpt with default parameters.

◆ default_plain_chkpt

template<typename T >
using hep::default_plain_chkpt = typedef decltype (make_plain_chkpt<T>())

Return type of make_plain_chkpt with default arguments.

◆ default_vegas_chkpt

template<typename T >
using hep::default_vegas_chkpt = typedef decltype (make_vegas_chkpt<T>())

Return type of make_vegas_chkpt with default arguments.

◆ multi_channel_chkpt_with_rng

template<typename RandomNumberEngine , typename T >
using hep::multi_channel_chkpt_with_rng = typedef chkpt_with_rng<RandomNumberEngine, multi_channel_chkpt<T> >

Multi channel checkpoint with random number generators.

◆ plain_chkpt

template<typename T >
using hep::plain_chkpt = typedef chkpt<plain_result<T> >

Checkpoint created and used by the PLAIN Integrator.

◆ plain_chkpt_with_rng

template<typename RandomNumberEngine , typename T >
using hep::plain_chkpt_with_rng = typedef chkpt_with_rng<RandomNumberEngine, plain_chkpt<T> >

Checkpoint with random number generators created by using the PLAIN Integrator.

◆ vegas_chkpt_with_rng

template<typename RandomNumberEngine , typename T >
using hep::vegas_chkpt_with_rng = typedef chkpt_with_rng<RandomNumberEngine, vegas_chkpt<T> >

Checkpoint with random number generators created by using the PLAIN Integrator.

Function Documentation

◆ make_multi_channel_chkpt() [1/3]

template<typename T , typename RandomNumberEngine = std::mt19937>
multi_channel_chkpt_with_rng<RandomNumberEngine, T> hep::make_multi_channel_chkpt ( min_weight = T(),
beta = T(0.25),
RandomNumberEngine const &  rng = std::mt19937() 
)

Creates a checkpoint that can be used to start a multi channel integration.

◆ make_multi_channel_chkpt() [2/3]

template<typename T , typename RandomNumberEngine = std::mt19937>
multi_channel_chkpt_with_rng<RandomNumberEngine, T> hep::make_multi_channel_chkpt ( std::vector< T > const &  channel_weights,
min_weight = T(),
beta = T(0.25),
RandomNumberEngine const &  rng = std::mt19937() 
)

Creates a checkpoint that can be used to start a multi channel integration.

◆ make_multi_channel_chkpt() [3/3]

template<typename T , typename RandomNumberEngine >
multi_channel_chkpt_with_rng<RandomNumberEngine, T> hep::make_multi_channel_chkpt ( std::istream &  in)

Helper function create a checkpoint reading from the stream in. Note the the numeric type T as well as the type of the random number generator, RandomNumberEngine have to explicitly stated.

◆ make_plain_chkpt() [1/2]

template<typename T , typename RandomNumberEngine = std::mt19937>
plain_chkpt_with_rng<RandomNumberEngine, T> hep::make_plain_chkpt ( RandomNumberEngine const &  generator = std::mt19937())

Helper function to create an initial checkpoint to start the PLAIN Integrator.

◆ make_plain_chkpt() [2/2]

template<typename T , typename RandomNumberEngine >
plain_chkpt_with_rng<RandomNumberEngine, T> hep::make_plain_chkpt ( std::istream &  in)

Helper function to create a checkpoint by reading from the stream in.

◆ make_vegas_chkpt() [1/3]

template<typename T , typename RandomNumberEngine = std::mt19937>
vegas_chkpt_with_rng<RandomNumberEngine, T> hep::make_vegas_chkpt ( std::size_t  bins = 128,
alpha = T(1.5),
RandomNumberEngine const &  rng = std::mt19937() 
)

Helper function to create an initial checkpoint to start the VEGAS Integrator.

◆ make_vegas_chkpt() [2/3]

template<typename T , typename RandomNumberEngine = std::mt19937>
vegas_chkpt_with_rng<RandomNumberEngine, T> hep::make_vegas_chkpt ( vegas_pdf< T > const &  pdf,
alpha = T(1.5),
RandomNumberEngine const &  rng = std::mt19937() 
)

Helper function to create an initial checkpoint to start the VEGAS Integrator.

◆ make_vegas_chkpt() [3/3]

template<typename T , typename RandomNumberEngine >
vegas_chkpt_with_rng<RandomNumberEngine, T> hep::make_vegas_chkpt ( std::istream &  in)

Helper function create a checkpoint reading from the stream in. Note the the numeric type T as well as the type of the random number generator, RandomNumberEngine have to explicitly stated.