libMesh
Classes | Namespaces | Functions
threads_pthread.h File Reference

Go to the source code of this file.

Classes

class  libMesh::Threads::spin_mutex
 Spin mutex. More...
 
class  libMesh::Threads::spin_mutex::scoped_lock
 
class  libMesh::Threads::spin_mutex
 Spin mutex. More...
 
class  libMesh::Threads::spin_mutex::scoped_lock
 
class  libMesh::Threads::spin_mutex
 Spin mutex. More...
 
class  libMesh::Threads::spin_mutex::scoped_lock
 
class  libMesh::Threads::recursive_mutex
 Recursive mutex. More...
 
class  libMesh::Threads::recursive_mutex::scoped_lock
 
class  libMesh::Threads::RangeBody< Range, Body >
 
class  libMesh::Threads::task_scheduler_init
 Scheduler to manage threads. More...
 
class  libMesh::Threads::split
 Dummy "splitting object" used to distinguish splitting constructors from copy constructors. More...
 
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.
 

Functions

template<typename Range >
unsigned int libMesh::Threads::num_pthreads (Range &range)
 
template<typename Range , typename Body >
void * libMesh::Threads::run_body (void *args)
 
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...