vSMC
vSMC: Scalable Monte Carlo
Classes | 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>

Classes

class  work_type
 

Public Member Functions

double operator() (std::size_t iter, Particle< T > &particle, double *r)
 
- Public Member Functions inherited from vsmc::PathEvalBase< T, Derived >
double eval_grid (std::size_t iter, Particle< T > &particle)
 
void eval_post (std::size_t iter, Particle< T > &particle)
 
void eval_pre (std::size_t iter, Particle< T > &particle)
 
double eval_sp (std::size_t iter, SingleParticle< T > sp)
 

Protected Member Functions

 PathEvalTBB ()=default
 
 PathEvalTBB (const PathEvalTBB< T, Derived > &)=default
 
 PathEvalTBB (PathEvalTBB< T, Derived > &&)=default
 
 ~PathEvalTBB ()
 
PathEvalTBB< T, Derived > & operator= (PathEvalTBB< T, Derived > &&)=default
 
PathEvalTBB< T, Derived > & operator= (PathEvalTBB< T, Derived > &)=default
 
double parallel_run (std::size_t iter, Particle< T > &particle, double *r, const ::tbb::blocked_range< typename Particle< T >::size_type > &range)
 
double parallel_run (std::size_t iter, Particle< T > &particle, double *r, const ::tbb::blocked_range< typename Particle< T >::size_type > &range, const ::tbb::auto_partitioner &partitioner)
 
double parallel_run (std::size_t iter, Particle< T > &particle, double *r, const ::tbb::blocked_range< typename Particle< T >::size_type > &range, const ::tbb::simple_partitioner &partitioner)
 
double parallel_run (std::size_t iter, Particle< T > &particle, double *r, const ::tbb::blocked_range< typename Particle< T >::size_type > &range,::tbb::affinity_partitioner &partitioner)
 
double parallel_run (std::size_t iter, Particle< T > &particle, double *r, 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, Particle< T > &particle, double *r, 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, Particle< T > &particle, double *r, 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 ()=default
 
 PathEvalBase (const PathEvalBase< T, Derived > &)=default
 
 PathEvalBase (PathEvalBase< T, Derived > &&)=default
 
virtual ~PathEvalBase ()
 
PathEvalBase< T, Derived > & operator= (const PathEvalBase< T, Derived > &)=default
 
PathEvalBase< T, Derived > & operator= (PathEvalBase< T, Derived > &&)=default
 

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 69 of file backend_tbb.hpp.

Constructor & Destructor Documentation

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

Definition at line 520 of file backend_tbb.hpp.

Member Function Documentation

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

Definition at line 512 of file backend_tbb.hpp.

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

Definition at line 546 of file backend_tbb.hpp.

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

Definition at line 552 of file backend_tbb.hpp.

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

Definition at line 560 of file backend_tbb.hpp.

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

Definition at line 568 of file backend_tbb.hpp.

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

Definition at line 577 of file backend_tbb.hpp.

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

Definition at line 586 of file backend_tbb.hpp.

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

Definition at line 595 of file backend_tbb.hpp.