vSMC
vSMC: Scalable Monte Carlo
Public Member Functions | Protected Member Functions | List of all members
vsmc::PathEvalTBB< T, Derived > Class Template Reference

Path<T>::eval_type subtype using Intel Threading Building Blocks. More...

#include <vsmc/smp/backend_tbb.hpp>

Public Member Functions

double operator() (std::size_t iter, const Particle< T > &particle, double *res)
 
- Public Member Functions inherited from vsmc::PathEvalBase< T, Derived >
double path_grid (std::size_t iter, const Particle< T > &particle)
 
double path_state (std::size_t iter, ConstSingleParticle< T > csp)
 
void post_processor (std::size_t iter, const Particle< T > &particle)
 
void pre_processor (std::size_t iter, const Particle< T > &particle)
 

Protected Member Functions

 PathEvalTBB ()
 
 PathEvalTBB (const PathEvalTBB< T, Derived > &other)
 
 ~PathEvalTBB ()
 
PathEvalTBB< T, Derived > & operator= (const PathEvalTBB< T, Derived > &other)
 
double parallel_run (std::size_t iter, const Particle< T > &particle, double *res, const ::tbb::blocked_range< typename Particle< T >::size_type > &range)
 
double parallel_run (std::size_t iter, const Particle< T > &particle, double *res, const ::tbb::blocked_range< typename Particle< T >::size_type > &range, const ::tbb::auto_partitioner &partitioner)
 
double parallel_run (std::size_t iter, const Particle< T > &particle, double *res, const ::tbb::blocked_range< typename Particle< T >::size_type > &range, const ::tbb::simple_partitioner &partitioner)
 
double parallel_run (std::size_t iter, const Particle< T > &particle, double *res, const ::tbb::blocked_range< typename Particle< T >::size_type > &range,::tbb::affinity_partitioner &partitioner)
 
double parallel_run (std::size_t iter, const Particle< T > &particle, double *res, const ::tbb::blocked_range< typename Particle< T >::size_type > &range, const ::tbb::auto_partitioner &partitioner,::tbb::task_group_context &context)
 
double parallel_run (std::size_t iter, const Particle< T > &particle, double *res, const ::tbb::blocked_range< typename Particle< T >::size_type > &range, const ::tbb::simple_partitioner &partitioner,::tbb::task_group_context &context)
 
double parallel_run (std::size_t iter, const Particle< T > &particle, double *res, const ::tbb::blocked_range< typename Particle< T >::size_type > &range,::tbb::affinity_partitioner &partitioner,::tbb::task_group_context &context)
 
- Protected Member Functions inherited from vsmc::PathEvalBase< T, Derived >
 PathEvalBase ()
 
 PathEvalBase (const PathEvalBase< T, Derived > &)
 
virtual ~PathEvalBase ()
 
PathEvalBase< T, Derived > & operator= (const PathEvalBase< T, Derived > &)
 

Detailed Description

template<typename T, typename Derived>
class vsmc::PathEvalTBB< T, Derived >

Path<T>::eval_type subtype using Intel Threading Building Blocks.

Definition at line 75 of file backend_tbb.hpp.

Constructor & Destructor Documentation

template<typename T , typename Derived >
vsmc::PathEvalTBB< T, Derived >::PathEvalTBB ( )
inlineprotected

Definition at line 421 of file backend_tbb.hpp.

template<typename T , typename Derived >
vsmc::PathEvalTBB< T, Derived >::PathEvalTBB ( const PathEvalTBB< T, Derived > &  other)
inlineprotected

Definition at line 421 of file backend_tbb.hpp.

template<typename T , typename Derived >
vsmc::PathEvalTBB< T, Derived >::~PathEvalTBB ( )
inlineprotected

Definition at line 421 of file backend_tbb.hpp.

Member Function Documentation

template<typename T , typename Derived >
double vsmc::PathEvalTBB< T, Derived >::operator() ( std::size_t  iter,
const Particle< T > &  particle,
double *  res 
)
inline

Definition at line 411 of file backend_tbb.hpp.

template<typename T , typename Derived >
PathEvalTBB<T, Derived>& vsmc::PathEvalTBB< T, Derived >::operator= ( const PathEvalTBB< T, Derived > &  other)
inlineprotected

Definition at line 421 of file backend_tbb.hpp.

template<typename T , typename Derived >
double vsmc::PathEvalTBB< T, Derived >::parallel_run ( std::size_t  iter,
const Particle< T > &  particle,
double *  res,
const ::tbb::blocked_range< typename Particle< T >::size_type > &  range 
)
inlineprotected

Definition at line 423 of file backend_tbb.hpp.

template<typename T , typename Derived >
double vsmc::PathEvalTBB< T, Derived >::parallel_run ( std::size_t  iter,
const Particle< T > &  particle,
double *  res,
const ::tbb::blocked_range< typename Particle< T >::size_type > &  range,
const ::tbb::auto_partitioner &  partitioner 
)
inlineprotected

Definition at line 428 of file backend_tbb.hpp.

template<typename T , typename Derived >
double vsmc::PathEvalTBB< T, Derived >::parallel_run ( std::size_t  iter,
const Particle< T > &  particle,
double *  res,
const ::tbb::blocked_range< typename Particle< T >::size_type > &  range,
const ::tbb::simple_partitioner &  partitioner 
)
inlineprotected

Definition at line 437 of file backend_tbb.hpp.

template<typename T , typename Derived >
double vsmc::PathEvalTBB< T, Derived >::parallel_run ( std::size_t  iter,
const Particle< T > &  particle,
double *  res,
const ::tbb::blocked_range< typename Particle< T >::size_type > &  range,
::tbb::affinity_partitioner &  partitioner 
)
inlineprotected

Definition at line 446 of file backend_tbb.hpp.

template<typename T , typename Derived >
double vsmc::PathEvalTBB< T, Derived >::parallel_run ( std::size_t  iter,
const Particle< T > &  particle,
double *  res,
const ::tbb::blocked_range< typename Particle< T >::size_type > &  range,
const ::tbb::auto_partitioner &  partitioner,
::tbb::task_group_context &  context 
)
inlineprotected

Definition at line 456 of file backend_tbb.hpp.

template<typename T , typename Derived >
double vsmc::PathEvalTBB< T, Derived >::parallel_run ( std::size_t  iter,
const Particle< T > &  particle,
double *  res,
const ::tbb::blocked_range< typename Particle< T >::size_type > &  range,
const ::tbb::simple_partitioner &  partitioner,
::tbb::task_group_context &  context 
)
inlineprotected

Definition at line 466 of file backend_tbb.hpp.

template<typename T , typename Derived >
double vsmc::PathEvalTBB< T, Derived >::parallel_run ( std::size_t  iter,
const Particle< T > &  particle,
double *  res,
const ::tbb::blocked_range< typename Particle< T >::size_type > &  range,
::tbb::affinity_partitioner &  partitioner,
::tbb::task_group_context &  context 
)
inlineprotected

Definition at line 476 of file backend_tbb.hpp.