Reference documentation for deal.II version 9.3.3
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Classes | Namespaces | Functions | Variables
parallel.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/base/exceptions.h>
#include <deal.II/base/synchronous_iterator.h>
#include <deal.II/base/template_constraints.h>
#include <deal.II/base/thread_management.h>
#include <cstddef>
#include <functional>
#include <memory>
#include <tuple>
#include <tbb/blocked_range.h>
#include <tbb/parallel_for.h>
#include <tbb/parallel_reduce.h>
#include <tbb/partitioner.h>

Go to the source code of this file.

Classes

struct  parallel::internal::EnableOpenMPSimdFor< Number >
 
struct  parallel::internal::Body< F >
 
struct  parallel::ParallelForInteger
 
struct  parallel::internal::ReductionOnSubranges< ResultType, Function >
 
class  parallel::internal::TBBPartitioner
 
struct  parallel::internal::ParallelForWrapper
 

Namespaces

namespace  parallel
 
namespace  parallel::internal
 
namespace  internal
 
namespace  internal::VectorImplementation
 
namespace  internal::SparseMatrixImplementation
 

Functions

template<typename F >
Body< F > parallel::internal::make_body (const F &f)
 
template<typename Iterator , typename Functor >
void parallel::internal::parallel_for (Iterator x_begin, Iterator x_end, const Functor &functor, const unsigned int grainsize)
 
template<typename Iterator , typename Functor >
void parallel::internal::parallel_for (Iterator x_begin, Iterator x_end, const Functor &functor, const unsigned int grainsize, const std::shared_ptr< tbb::affinity_partitioner > &partitioner)
 
template<typename InputIterator , typename OutputIterator , typename Predicate >
void parallel::transform (const InputIterator &begin_in, const InputIterator &end_in, OutputIterator out, const Predicate &predicate, const unsigned int grainsize)
 
template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Predicate >
void parallel::transform (const InputIterator1 &begin_in1, const InputIterator1 &end_in1, InputIterator2 in2, OutputIterator out, const Predicate &predicate, const unsigned int grainsize)
 
template<typename InputIterator1 , typename InputIterator2 , typename InputIterator3 , typename OutputIterator , typename Predicate >
void parallel::transform (const InputIterator1 &begin_in1, const InputIterator1 &end_in1, InputIterator2 in2, InputIterator3 in3, OutputIterator out, const Predicate &predicate, const unsigned int grainsize)
 
template<typename RangeType , typename Function >
void parallel::internal::apply_to_subranges (const tbb::blocked_range< RangeType > &range, const Function &f)
 
template<typename RangeType , typename Function >
void parallel::apply_to_subranges (const RangeType &begin, const typename identity< RangeType >::type &end, const Function &f, const unsigned int grainsize)
 
template<typename ResultType , typename RangeType , typename Function >
ResultType parallel::accumulate_from_subranges (const Function &f, const RangeType &begin, const typename identity< RangeType >::type &end, const unsigned int grainsize)
 

Variables

unsigned int internal::VectorImplementation::minimum_parallel_grain_size = 4096
 
unsigned int internal::SparseMatrixImplementation::minimum_parallel_grain_size = 256