Reference documentation for deal.II version 9.2.0
\(\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\}}\)
Public Member Functions | Public Attributes | List of all members
internal::VectorOperations::TBBForFunctor< Functor > Struct Template Reference

#include <deal.II/lac/vector_operations_internal.h>

Public Member Functions

 TBBForFunctor (Functor &functor, const size_type start, const size_type end)
 
void operator() (const tbb::blocked_range< size_type > &range) const
 

Public Attributes

Functor & functor
 
const size_type start
 
const size_type end
 
unsigned int n_chunks
 
size_type chunk_size
 

Detailed Description

template<typename Functor>
struct internal::VectorOperations::TBBForFunctor< Functor >

This struct takes the loop range from the tbb parallel for loop and translates it to the actual ranges of the for loop within the vector. It encodes the grain size but might choose larger values of chunks than the minimum grain size. The minimum grain size given to tbb is then simple

  1. For affinity reasons, the layout in this loop must be kept in sync with the respective class for reductions further down.

Definition at line 102 of file vector_operations_internal.h.

Constructor & Destructor Documentation

◆ TBBForFunctor()

template<typename Functor>
internal::VectorOperations::TBBForFunctor< Functor >::TBBForFunctor ( Functor &  functor,
const size_type  start,
const size_type  end 
)
inline

Definition at line 104 of file vector_operations_internal.h.

Member Function Documentation

◆ operator()()

template<typename Functor>
void internal::VectorOperations::TBBForFunctor< Functor >::operator() ( const tbb::blocked_range< size_type > &  range) const
inline

Definition at line 132 of file vector_operations_internal.h.

Member Data Documentation

◆ functor

template<typename Functor>
Functor& internal::VectorOperations::TBBForFunctor< Functor >::functor

Definition at line 139 of file vector_operations_internal.h.

◆ start

template<typename Functor>
const size_type internal::VectorOperations::TBBForFunctor< Functor >::start

Definition at line 140 of file vector_operations_internal.h.

◆ end

template<typename Functor>
const size_type internal::VectorOperations::TBBForFunctor< Functor >::end

Definition at line 141 of file vector_operations_internal.h.

◆ n_chunks

template<typename Functor>
unsigned int internal::VectorOperations::TBBForFunctor< Functor >::n_chunks

Definition at line 142 of file vector_operations_internal.h.

◆ chunk_size

template<typename Functor>
size_type internal::VectorOperations::TBBForFunctor< Functor >::chunk_size

Definition at line 143 of file vector_operations_internal.h.


The documentation for this struct was generated from the following file: