Reference documentation for deal.II version GIT relicensing-662-g00096bcf61 2024-05-18 15:40:02+00:00
\(\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\}}\)
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions | Variables
parallel.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/base/exceptions.h>
#include <deal.II/base/mutex.h>
#include <deal.II/base/synchronous_iterator.h>
#include <deal.II/base/template_constraints.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::ParallelForInteger
 
class  parallel::internal::TBBPartitioner
 

Namespaces

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

Typedefs

using parallel::SyncIterators = SynchronousIterators< Iterators >
 

Functions

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 Function >
 parallel::DEAL_II_CXX20_REQUIRES ((std::invocable< Function, decltype(*std::declval< InputIterator >())> &&std::assignable_from< decltype(*std::declval< OutputIterator >()), std::invoke_result_t< Function, decltype(*std::declval< InputIterator >())> >)) void transform(const InputIterator &begin_in
 
Iterators parallel::x_begin (begin_in, out)
 
Iterators parallel::x_end (end_in, OutputIterator())
 
template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Function >
 parallel::DEAL_II_CXX20_REQUIRES ((std::invocable< Function, decltype(*std::declval< InputIterator1 >()), decltype(*std::declval< InputIterator2 >())> &&std::assignable_from< decltype(*std::declval< OutputIterator >()), std::invoke_result_t< Function, decltype(*std::declval< InputIterator1 >()), decltype(*std::declval< InputIterator2 >())> >)) void transform(const InputIterator1 &begin_in1
 
Iterators parallel::x_begin (begin_in1, in2, out)
 
Iterators parallel::x_end (end_in1, InputIterator2(), OutputIterator())
 
template<typename InputIterator1 , typename InputIterator2 , typename InputIterator3 , typename OutputIterator , typename Function >
 parallel::DEAL_II_CXX20_REQUIRES ((std::invocable< Function, decltype(*std::declval< InputIterator1 >()), decltype(*std::declval< InputIterator2 >()), decltype(*std::declval< InputIterator3 >())> &&std::assignable_from< decltype(*std::declval< OutputIterator >()), std::invoke_result_t< Function, decltype(*std::declval< InputIterator1 >()), decltype(*std::declval< InputIterator2 >()), decltype(*std::declval< InputIterator3 >())> >)) void transform(const InputIterator1 &begin_in1
 
Iterators parallel::x_begin (begin_in1, in2, in3, out)
 
Iterators parallel::x_end (end_in1, InputIterator2(), InputIterator3(), OutputIterator())
 
template<typename Iterator , typename Function >
void parallel::internal::apply_to_subranges (const tbb::blocked_range< Iterator > &range, const Function &f)
 
template<typename Iterator , typename Function >
void parallel::apply_to_subranges (const Iterator &begin, const std_cxx20::type_identity_t< Iterator > &end, const Function &f, const unsigned int grainsize)
 
template<typename ResultType , typename Iterator , typename Function >
 parallel::DEAL_II_CXX20_REQUIRES ((std::invocable< Function, Iterator, Iterator > &&std::convertible_to< std::invoke_result_t< Function, Iterator, Iterator >, ResultType >)) ResultType accumulate_from_subranges(const Function &f
 

Variables

const InputIterator & parallel::end_in
 
const InputIterator OutputIterator parallel::out
 
const InputIterator OutputIterator const Functionparallel::function
 
const InputIterator OutputIterator const Function const unsigned int parallel::grainsize
 
const InputIterator1 & parallel::end_in1
 
const InputIterator1 InputIterator2 parallel::in2
 
const InputIterator1 InputIterator2 InputIterator3 parallel::in3
 
const Iterator & parallel::begin
 
const Iterator const std_cxx20::type_identity_t< Iterator > & parallel::end
 
unsigned int internal::VectorImplementation::minimum_parallel_grain_size = 4096
 
unsigned int internal::SparseMatrixImplementation::minimum_parallel_grain_size = 256