Loading [MathJax]/extensions/TeX/newcommand.js
 deal.II version GIT relicensing-3110-g10dd77059b 2025-04-22 10:30:00+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\}}
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
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 108 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 110 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 138 of file vector_operations_internal.h.

Member Data Documentation

◆ functor

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

Definition at line 145 of file vector_operations_internal.h.

◆ start

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

Definition at line 146 of file vector_operations_internal.h.

◆ end

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

Definition at line 147 of file vector_operations_internal.h.

◆ n_chunks

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

Definition at line 148 of file vector_operations_internal.h.

◆ chunk_size

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

Definition at line 149 of file vector_operations_internal.h.


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