libMesh
Classes | Namespaces | Typedefs | Functions
threads_tbb.h File Reference

Go to the source code of this file.

Classes

class  libMesh::Threads::atomic< T >
 Defines atomic operations which can only be executed on a single thread at a time. More...
 

Namespaces

 libMesh
 The libMesh namespace provides an interface to certain functionality in the library.
 
 libMesh::Threads
 The Threads namespace is for wrapper functions for common general multithreading algorithms and tasks.
 

Typedefs

typedef tbb::task_scheduler_init libMesh::Threads::task_scheduler_init
 Scheduler to manage threads. More...
 
typedef tbb::split libMesh::Threads::split
 Dummy "splitting object" used to distinguish splitting constructors from copy constructors. More...
 
typedef tbb::spin_mutex libMesh::Threads::spin_mutex
 Spin mutex. More...
 
typedef tbb::recursive_mutex libMesh::Threads::recursive_mutex
 Recursive mutex. More...
 

Functions

template<typename Range , typename Body >
void libMesh::Threads::parallel_for (const Range &range, const Body &body)
 Execute the provided function object in parallel on the specified range. More...
 
template<typename Range , typename Body , typename Partitioner >
void libMesh::Threads::parallel_for (const Range &range, const Body &body, const Partitioner &)
 Execute the provided function object in parallel on the specified range with the specified partitioner. More...
 
template<typename Range , typename Body >
void libMesh::Threads::parallel_reduce (const Range &range, Body &body)
 Execute the provided reduction operation in parallel on the specified range. More...
 
template<typename Range , typename Body , typename Partitioner >
void libMesh::Threads::parallel_reduce (const Range &range, Body &body, const Partitioner &)
 Execute the provided reduction operation in parallel on the specified range with the specified partitioner. More...