hep-mc
0.8
|
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) |
using hep::default_multi_channel_chkpt = typedef decltype (make_multi_channel_chkpt<T>()) |
Return type of make_multi_channel_chkpt with default parameters.
using hep::default_plain_chkpt = typedef decltype (make_plain_chkpt<T>()) |
Return type of make_plain_chkpt with default arguments.
using hep::default_vegas_chkpt = typedef decltype (make_vegas_chkpt<T>()) |
Return type of make_vegas_chkpt with default arguments.
using hep::multi_channel_chkpt_with_rng = typedef chkpt_with_rng<RandomNumberEngine, multi_channel_chkpt<T> > |
Multi channel checkpoint with random number generators.
using hep::plain_chkpt = typedef chkpt<plain_result<T> > |
Checkpoint created and used by the PLAIN Integrator.
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.
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.
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() |
||
) |
Creates a checkpoint that can be used to start a multi channel integration.
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() |
||
) |
Creates a checkpoint that can be used to start a multi channel integration.
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.
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.
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
.
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() |
||
) |
Helper function to create an initial checkpoint to start the VEGAS Integrator.
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() |
||
) |
Helper function to create an initial checkpoint to start the VEGAS Integrator.
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.