class atomic
class task_scheduler_init
class split
class spin_mutex
class BlockedRange
class scalable_allocator
typedef tbb::task_scheduler_init task_scheduler_init
typedef tbb::split split
typedef tbb::spin_mutex spin_mutex
template<typename Range , typename Body > void parallel_for (const Range &range, const Body &body)
template<typename Range , typename Body , typename Partitioner > void parallel_for (const Range &range, const Body &body, const Partitioner &partitioner)
template<typename Range , typename Body > void parallel_reduce (const Range &range, Body &body)
template<typename Range , typename Body , typename Partitioner > void parallel_reduce (const Range &range, Body &body, const Partitioner &partitioner)
The Threads namespace is for wrapper functions for common general multithreading algorithms and tasks.
Definition at line 185 of file threads.h.
Definition at line 64 of file threads.h.
Definition at line 55 of file threads.h.
Definition at line 75 of file threads.h.
References PerfLog::disable_logging(), PerfLog::enable_logging(), libMesh::n_threads(), and libMesh::perflog.
Referenced by MeshCommunication::assign_global_indices(), DofMap::create_dof_constraints(), PatchRecoveryErrorEstimator::estimate_error(), parallel_for(), and System::project_vector().
{
#ifdef LIBMESH_ENABLE_PERFORMANCE_LOGGING
if (libMesh::n_threads() > 1)
libMesh::perflog.disable_logging();
#endif
if (libMesh::n_threads() > 1)
tbb::parallel_for (range, body, tbb::auto_partitioner());
else
body(range);
#ifdef LIBMESH_ENABLE_PERFORMANCE_LOGGING
if (libMesh::n_threads() > 1)
libMesh::perflog.enable_logging();
#endif
}
Definition at line 103 of file threads.h.
References PerfLog::disable_logging(), PerfLog::enable_logging(), libMesh::n_threads(), parallel_for(), and libMesh::perflog.
{
#ifdef LIBMESH_ENABLE_PERFORMANCE_LOGGING
if (libMesh::n_threads() > 1)
libMesh::perflog.disable_logging();
#endif
if (libMesh::n_threads() > 1)
tbb::parallel_for (range, body, partitioner);
else
body(range);
#ifdef LIBMESH_ENABLE_PERFORMANCE_LOGGING
if (libMesh::n_threads() > 1)
libMesh::perflog.enable_logging();
#endif
}
Definition at line 131 of file threads.h.
References PerfLog::disable_logging(), PerfLog::enable_logging(), libMesh::n_threads(), and libMesh::perflog.
Referenced by MeshTools::bounding_box(), DofMap::compute_sparsity(), parallel_reduce(), MeshTools::processor_bounding_box(), System::project_vector(), MeshTools::total_weight(), and MeshTools::weight().
{
#ifdef LIBMESH_ENABLE_PERFORMANCE_LOGGING
if (libMesh::n_threads() > 1)
libMesh::perflog.disable_logging();
#endif
if (libMesh::n_threads() > 1)
tbb::parallel_reduce (range, body, tbb::auto_partitioner());
else
body(range);
#ifdef LIBMESH_ENABLE_PERFORMANCE_LOGGING
if (libMesh::n_threads() > 1)
libMesh::perflog.enable_logging();
#endif
}
Definition at line 159 of file threads.h.
References PerfLog::disable_logging(), PerfLog::enable_logging(), libMesh::n_threads(), parallel_reduce(), and libMesh::perflog.
{
#ifdef LIBMESH_ENABLE_PERFORMANCE_LOGGING
if (libMesh::n_threads() > 1)
libMesh::perflog.disable_logging();
#endif
if (libMesh::n_threads() > 1)
tbb::parallel_reduce (range, body);
else
body(range);
#ifdef LIBMESH_ENABLE_PERFORMANCE_LOGGING
if (libMesh::n_threads() > 1)
libMesh::perflog.enable_logging();
#endif
}
Definition at line 30 of file threads.C.
Referenced by FEBase::compute_periodic_constraints(), FEBase::compute_proj_constraints(), DofMap::constrain_p_dofs(), ReferenceCounter::increment_constructor_count(), ReferenceCounter::increment_destructor_count(), and System::ProjectVector::operator()().
Generated automatically by Doxygen for libMesh from the source code.