#include <ChainPool.h>
|
| ChainPool () |
|
| ChainPool (HYP &h0, typename HYP::data_t *d, size_t n) |
|
void | set_data (typename HYP::data_t *d, bool recompute=true) |
| Set this data. More...
|
|
template<typename... ARGS> |
void | add_chain (ARGS... args) |
| Lock and modify the pool. More...
|
|
size_t | nchains () const |
|
void | show (std::string prefix) const |
|
generator< HYP & > | run_thread (Control &ctl) override |
| This run helper is called internally by multiple different threads, and runs a given pool. More...
|
|
virtual generator< HYP &> | run_thread (Control &ctl, Args... args)=0 |
|
| ThreadedInferenceInterface () |
|
unsigned long | next_index () |
| Return the next index to operate on (in a thread-safe way). More...
|
|
size_t | nthreads () |
| How many threads are currently run in this interface? More...
|
|
void | run_thread_generator_wrapper (size_t thr, Control &ctl, Args... args) |
| We have to wrap run_thread in something that manages the sync with main. This really just synchronizes the output of run_thread with run below. NOTE this makes a copy of x into the local next_x, so that when the thread keeps running, it doesn't mess anything up. We may in the future block the thread and return a reference, but its not clear that's faster. More...
|
|
generator< HYP &> | run (Control ctl, Args... args) |
| Set up the multiple threads and actually run, calling run_thread_generator_wrapper. More...
|
|
generator< HYP &> | unthreaded_run (Control ctl, Args... args) |
|
template<typename HYP, typename Chain_t = MCMCChain<HYP>>
class ChainPool< HYP, Chain_t >
- Author
- steven piantadosi
- Date
- 29/01/20
◆ RunningState
template<typename HYP, typename Chain_t = MCMCChain<HYP>>
Enumerator |
---|
READY | |
RUNNING | |
DONE | |
◆ ChainPool() [1/2]
template<typename HYP, typename Chain_t = MCMCChain<HYP>>
◆ ChainPool() [2/2]
template<typename HYP, typename Chain_t = MCMCChain<HYP>>
◆ add_chain()
template<typename HYP, typename Chain_t = MCMCChain<HYP>>
template<typename... ARGS>
void ChainPool< HYP, Chain_t >::add_chain |
( |
ARGS... |
args | ) |
|
|
inline |
Lock and modify the pool.
- Parameters
-
◆ nchains()
template<typename HYP, typename Chain_t = MCMCChain<HYP>>
size_t ChainPool< HYP, Chain_t >::nchains |
( |
| ) |
const |
|
inline |
◆ run_thread()
template<typename HYP, typename Chain_t = MCMCChain<HYP>>
This run helper is called internally by multiple different threads, and runs a given pool.
- Parameters
-
figure out how many steps to run
◆ set_data()
template<typename HYP, typename Chain_t = MCMCChain<HYP>>
void ChainPool< HYP, Chain_t >::set_data |
( |
typename HYP::data_t * |
d, |
|
|
bool |
recompute = true |
|
) |
| |
|
inline |
Set this data.
- Parameters
-
d | – what data to set |
recompute | – should I recompute all of the posteriors? |
◆ show()
template<typename HYP, typename Chain_t = MCMCChain<HYP>>
void ChainPool< HYP, Chain_t >::show |
( |
std::string |
prefix | ) |
const |
|
inline |
◆ pool
template<typename HYP, typename Chain_t = MCMCChain<HYP>>
std::vector<Chain_t> ChainPool< HYP, Chain_t >::pool |
◆ running
template<typename HYP, typename Chain_t = MCMCChain<HYP>>
◆ running_lock
template<typename HYP, typename Chain_t = MCMCChain<HYP>>
◆ steps_before_change
template<typename HYP, typename Chain_t = MCMCChain<HYP>>
unsigned long ChainPool< HYP, Chain_t >::steps_before_change = 100 |
The documentation for this class was generated from the following file: