vSMC
vSMC: Scalable Monte Carlo
Classes | Namespaces | Macros
backend_tbb.hpp File Reference
#include <vsmc/smp/backend_base.hpp>
#include <vsmc/smp/internal/parallel_work.hpp>
#include <tbb/blocked_range.h>
#include <tbb/parallel_for.h>
#include <tbb/parallel_reduce.h>

Go to the source code of this file.

Classes

class  vsmc::InitializeTBB< T, Derived >
 Sampler<T>::init_type subtype using Intel Threading Building Blocks. More...
 
class  vsmc::InitializeTBB< T, Derived >
 Sampler<T>::init_type subtype using Intel Threading Building Blocks. More...
 
class  vsmc::MonitorEvalTBB< T, Derived >
 Monitor<T>::eval_type subtype using Intel Threading Building Blocks. More...
 
class  vsmc::MonitorEvalTBB< T, Derived >
 Monitor<T>::eval_type subtype using Intel Threading Building Blocks. More...
 
class  vsmc::MoveTBB< T, Derived >
 Sampler<T>::move_type subtype using Intel Threading Building Blocks. More...
 
class  vsmc::MoveTBB< T, Derived >
 Sampler<T>::move_type subtype using Intel Threading Building Blocks. More...
 
class  vsmc::PathEvalTBB< T, Derived >
 Path<T>::eval_type subtype using Intel Threading Building Blocks. More...
 
class  vsmc::PathEvalTBB< T, Derived >
 Path<T>::eval_type subtype using Intel Threading Building Blocks. More...
 
class  vsmc::StateTBB< BaseState >
 Particle::value_type subtype using Intel Threading Building Blocks. More...
 

Namespaces

 vsmc
 

Macros

#define VSMC_DEFINE_SMP_BACKEND_TBB_PARALLEL_RUN_INITIALIZE(args)
 
#define VSMC_DEFINE_SMP_BACKEND_TBB_PARALLEL_RUN_MONITOR_EVAL(args)
 
#define VSMC_DEFINE_SMP_BACKEND_TBB_PARALLEL_RUN_MOVE(args)
 
#define VSMC_DEFINE_SMP_BACKEND_TBB_PARALLEL_RUN_PATH_EVAL(args)
 

Macro Definition Documentation

#define VSMC_DEFINE_SMP_BACKEND_TBB_PARALLEL_RUN_INITIALIZE (   args)
Value:
this->initialize_param(particle, param); \
this->pre_processor(particle); \
internal::ParallelInitializeState<T, InitializeTBB<T, Derived> > work( \
this, &particle); \
this->post_processor(particle); \
return work.accept();
void parallel_reduce(const Range &range, WorkType &work)
Parallel reduce using C++11 concurrency.

Definition at line 41 of file backend_tbb.hpp.

#define VSMC_DEFINE_SMP_BACKEND_TBB_PARALLEL_RUN_MONITOR_EVAL (   args)
Value:
this->pre_processor(iter, particle); \
internal::ParallelMonitorState<T, MonitorEvalTBB<T, Derived> > work( \
this, iter, dim, &particle, res); \
this->post_processor(iter, particle);
void parallel_for(const Range &range, WorkType &&work)
Parallel for using std::thread.

Definition at line 58 of file backend_tbb.hpp.

#define VSMC_DEFINE_SMP_BACKEND_TBB_PARALLEL_RUN_MOVE (   args)
Value:
this->pre_processor(iter, particle); \
internal::ParallelMoveState<T, MoveTBB<T, Derived> > work( \
this, iter, &particle); \
this->post_processor(iter, particle); \
return work.accept();
void parallel_reduce(const Range &range, WorkType &work)
Parallel reduce using C++11 concurrency.

Definition at line 50 of file backend_tbb.hpp.

#define VSMC_DEFINE_SMP_BACKEND_TBB_PARALLEL_RUN_PATH_EVAL (   args)
Value:
this->pre_processor(iter, particle); \
internal::ParallelPathState<T, PathEvalTBB<T, Derived> > work( \
this, iter, &particle, res); \
this->post_processor(iter, particle); \
return this->path_grid(iter, particle);
void parallel_for(const Range &range, WorkType &&work)
Parallel for using std::thread.

Definition at line 65 of file backend_tbb.hpp.