ROOT 6.18/05 Reference Guide |
Base Excutor class.
Definition at line 35 of file Executor.h.
Public Types | |
template<class F , class... T> | |
using | noReferenceCond = typename std::enable_if<"Function can't return a reference" &&!(std::is_reference< typename std::result_of< F(T...)>::type >::value)>::type |
Public Member Functions | |
Executor () | |
Default constructor of TMVA Executor class if ROOT::EnableIMplicitMT has not been called then by default a serial executor will be created A user can create a thread pool and enable multi-thread excution by calling TMVA::Config::Instance()::EnableMT(nthreads) For releasing the thread pool used by TMVA one can do it by calling TMVA::Config::Instance()::DisableMT() or calling TMVA::Config::Instance()::EnableMT with only one thread. More... | |
Executor (int nthreads) | |
Constructor of TMVA Executor class Explicit specify the number of threads. More... | |
template<class Function , class INTEGER > | |
void | Foreach (Function func, ROOT::TSeq< INTEGER > args, unsigned nChunks=0) |
template<class Function , class T > | |
void | Foreach (Function func, std::vector< T > &args, unsigned nChunks=0) |
template<class Function > | |
void | Foreach (Function func, unsigned int nTimes, unsigned nChunks=0) |
wrap TExecutor::Foreach More... | |
ROOT::TThreadExecutor * | GetMultiThreadExecutor () |
unsigned int | GetPoolSize () const |
template<class F , class INTEGER , class Cond = noReferenceCond<F, INTEGER>> | |
auto | Map (F func, ROOT::TSeq< INTEGER > args) -> std::vector< typename std::result_of< F(INTEGER)>::type > |
template<class F , class Cond = noReferenceCond<F>> | |
auto | Map (F func, unsigned nTimes) -> std::vector< typename std::result_of< F()>::type > |
Wrap TExecutor::Map functions. More... | |
template<class F , class INTEGER , class R , class Cond = noReferenceCond<F, INTEGER>> | |
auto | MapReduce (F func, ROOT::TSeq< INTEGER > args, R redfunc) -> typename std::result_of< F(INTEGER)>::type |
Wrap TExecutor::MapReduce functions. More... | |
template<class F , class INTEGER , class R , class Cond = noReferenceCond<F, INTEGER>> | |
auto | MapReduce (F func, ROOT::TSeq< INTEGER > args, R redfunc, unsigned nChunks) -> typename std::result_of< F(INTEGER)>::type |
template<class T , class R > | |
auto | Reduce (const std::vector< T > &objs, R redfunc) -> decltype(redfunc(objs)) |
Wrap Reduce function. More... | |
Public Attributes | |
std::unique_ptr< ROOT::TThreadExecutor > | fMTExecImpl |
std::unique_ptr< ROOT::TSequentialExecutor > | fSeqExecImpl |
#include <TMVA/Executor.h>
using TMVA::Executor::noReferenceCond = typename std::enable_if<"Function can't return a reference" && !(std::is_reference<typename std::result_of<F(T...)>::type>::value)>::type |
Definition at line 40 of file Executor.h.
|
inline |
Default constructor of TMVA Executor class if ROOT::EnableIMplicitMT has not been called then by default a serial executor will be created A user can create a thread pool and enable multi-thread excution by calling TMVA::Config::Instance()::EnableMT(nthreads) For releasing the thread pool used by TMVA one can do it by calling TMVA::Config::Instance()::DisableMT() or calling TMVA::Config::Instance()::EnableMT with only one thread.
Definition at line 52 of file Executor.h.
|
inlineexplicit |
Constructor of TMVA Executor class Explicit specify the number of threads.
In this case if nthreads is > 1 a multi-threaded executor will be created and TMVA will run in MT. If nthreads = 1 instead TMVA will run in sequential mode If nthreads = 0 TMVA will use the default thread pool size
Definition at line 73 of file Executor.h.
|
inline |
Definition at line 120 of file Executor.h.
|
inline |
Definition at line 115 of file Executor.h.
|
inline |
wrap TExecutor::Foreach
Definition at line 110 of file Executor.h.
|
inline |
Definition at line 89 of file Executor.h.
|
inline |
Definition at line 99 of file Executor.h.
|
inline |
Definition at line 132 of file Executor.h.
|
inline |
Wrap TExecutor::Map functions.
Definition at line 127 of file Executor.h.
|
inline |
Wrap TExecutor::MapReduce functions.
Definition at line 139 of file Executor.h.
|
inline |
Definition at line 144 of file Executor.h.
|
inline |
Wrap Reduce function.
Definition at line 151 of file Executor.h.
std::unique_ptr<ROOT::TThreadExecutor> TMVA::Executor::fMTExecImpl |
Definition at line 158 of file Executor.h.
std::unique_ptr<ROOT::TSequentialExecutor> TMVA::Executor::fSeqExecImpl |
Definition at line 162 of file Executor.h.