Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::serial::interface9 Namespace Reference

Classes

class  start_for
 

Functions

template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body)
 Parallel iteration over range with default partitioner. More...
 
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, const simple_partitioner &partitioner)
 Parallel iteration over range with simple partitioner. More...
 
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, const auto_partitioner &partitioner)
 Parallel iteration over range with auto_partitioner. More...
 
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, const static_partitioner &partitioner)
 Parallel iteration over range with static_partitioner. More...
 
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, affinity_partitioner &partitioner)
 Parallel iteration over range with affinity_partitioner. More...
 
template<typename Index , typename Function , typename Partitioner >
void parallel_for_impl (Index first, Index last, Index step, const Function &f, Partitioner &)
 Implementation of parallel iteration over stepped range of integers with explicit step and partitioner (ignored) More...
 
template<typename Index , typename Function >
void parallel_for (Index first, Index last, Index step, const Function &f)
 Parallel iteration over a range of integers with explicit step and default partitioner. More...
 
template<typename Index , typename Function >
void parallel_for (Index first, Index last, Index step, const Function &f, const simple_partitioner &p)
 Parallel iteration over a range of integers with explicit step and simple partitioner. More...
 
template<typename Index , typename Function >
void parallel_for (Index first, Index last, Index step, const Function &f, const auto_partitioner &p)
 Parallel iteration over a range of integers with explicit step and auto partitioner. More...
 
template<typename Index , typename Function >
void parallel_for (Index first, Index last, Index step, const Function &f, const static_partitioner &p)
 Parallel iteration over a range of integers with explicit step and static partitioner. More...
 
template<typename Index , typename Function >
void parallel_for (Index first, Index last, Index step, const Function &f, affinity_partitioner &p)
 Parallel iteration over a range of integers with explicit step and affinity partitioner. More...
 
template<typename Index , typename Function >
void parallel_for (Index first, Index last, const Function &f)
 Parallel iteration over a range of integers with default step and default partitioner. More...
 
template<typename Index , typename Function >
void parallel_for (Index first, Index last, const Function &f, const simple_partitioner &p)
 Parallel iteration over a range of integers with default step and simple partitioner. More...
 
template<typename Index , typename Function >
void parallel_for (Index first, Index last, const Function &f, const auto_partitioner &p)
 Parallel iteration over a range of integers with default step and auto partitioner. More...
 
template<typename Index , typename Function >
void parallel_for (Index first, Index last, const Function &f, const static_partitioner &p)
 Parallel iteration over a range of integers with default step and static partitioner. More...
 
template<typename Index , typename Function >
void parallel_for (Index first, Index last, const Function &f, affinity_partitioner &p)
 Parallel iteration over a range of integers with default step and affinity_partitioner. More...
 

Function Documentation

◆ parallel_for() [1/10]

template<typename Index , typename Function >
void tbb::serial::interface9::parallel_for ( Index  first,
Index  last,
Index  step,
const Function &  f 
)

Parallel iteration over a range of integers with explicit step and default partitioner.

Definition at line 153 of file serial/tbb/parallel_for.h.

153  {
154  parallel_for_impl<Index,Function,const auto_partitioner>(first, last, step, f, auto_partitioner());
155 }
auto first(Container &c) -> decltype(begin(c))
auto last(Container &c) -> decltype(begin(c))

References tbb::internal::first(), and tbb::internal::last().

Here is the call graph for this function:

◆ parallel_for() [2/10]

template<typename Index , typename Function >
void tbb::serial::interface9::parallel_for ( Index  first,
Index  last,
Index  step,
const Function &  f,
const simple_partitioner p 
)

Parallel iteration over a range of integers with explicit step and simple partitioner.

Definition at line 158 of file serial/tbb/parallel_for.h.

158  {
159  parallel_for_impl<Index,Function,const simple_partitioner>(first, last, step, f, p);
160 }
auto first(Container &c) -> decltype(begin(c))
auto last(Container &c) -> decltype(begin(c))
void const char const char int ITT_FORMAT __itt_group_sync p

References tbb::internal::first(), tbb::internal::last(), and p.

Here is the call graph for this function:

◆ parallel_for() [3/10]

template<typename Index , typename Function >
void tbb::serial::interface9::parallel_for ( Index  first,
Index  last,
Index  step,
const Function &  f,
const auto_partitioner p 
)

Parallel iteration over a range of integers with explicit step and auto partitioner.

Definition at line 163 of file serial/tbb/parallel_for.h.

163  {
164  parallel_for_impl<Index,Function,const auto_partitioner>(first, last, step, f, p);
165 }
auto first(Container &c) -> decltype(begin(c))
auto last(Container &c) -> decltype(begin(c))
void const char const char int ITT_FORMAT __itt_group_sync p

References tbb::internal::first(), tbb::internal::last(), and p.

Here is the call graph for this function:

◆ parallel_for() [4/10]

template<typename Index , typename Function >
void tbb::serial::interface9::parallel_for ( Index  first,
Index  last,
Index  step,
const Function &  f,
const static_partitioner p 
)

Parallel iteration over a range of integers with explicit step and static partitioner.

Definition at line 168 of file serial/tbb/parallel_for.h.

168  {
169  parallel_for_impl<Index,Function,const static_partitioner>(first, last, step, f, p);
170 }
auto first(Container &c) -> decltype(begin(c))
auto last(Container &c) -> decltype(begin(c))
void const char const char int ITT_FORMAT __itt_group_sync p

References tbb::internal::first(), tbb::internal::last(), and p.

Here is the call graph for this function:

◆ parallel_for() [5/10]

template<typename Index , typename Function >
void tbb::serial::interface9::parallel_for ( Index  first,
Index  last,
Index  step,
const Function &  f,
affinity_partitioner p 
)

Parallel iteration over a range of integers with explicit step and affinity partitioner.

Definition at line 173 of file serial/tbb/parallel_for.h.

173  {
174  parallel_for_impl(first, last, step, f, p);
175 }
void parallel_for_impl(Index first, Index last, Index step, const Function &f, Partitioner &)
Implementation of parallel iteration over stepped range of integers with explicit step and partitione...
auto first(Container &c) -> decltype(begin(c))
auto last(Container &c) -> decltype(begin(c))
void const char const char int ITT_FORMAT __itt_group_sync p

References tbb::internal::first(), tbb::internal::last(), p, and parallel_for_impl().

Here is the call graph for this function:

◆ parallel_for() [6/10]

template<typename Index , typename Function >
void tbb::serial::interface9::parallel_for ( Index  first,
Index  last,
const Function &  f 
)

Parallel iteration over a range of integers with default step and default partitioner.

Definition at line 179 of file serial/tbb/parallel_for.h.

179  {
180  parallel_for_impl<Index,Function,const auto_partitioner>(first, last, static_cast<Index>(1), f, auto_partitioner());
181 }
auto first(Container &c) -> decltype(begin(c))
auto last(Container &c) -> decltype(begin(c))

References tbb::internal::first(), and tbb::internal::last().

Here is the call graph for this function:

◆ parallel_for() [7/10]

template<typename Index , typename Function >
void tbb::serial::interface9::parallel_for ( Index  first,
Index  last,
const Function &  f,
const simple_partitioner p 
)

Parallel iteration over a range of integers with default step and simple partitioner.

Definition at line 184 of file serial/tbb/parallel_for.h.

184  {
185  parallel_for_impl<Index,Function,const simple_partitioner>(first, last, static_cast<Index>(1), f, p);
186 }
auto first(Container &c) -> decltype(begin(c))
auto last(Container &c) -> decltype(begin(c))
void const char const char int ITT_FORMAT __itt_group_sync p

References tbb::internal::first(), tbb::internal::last(), and p.

Here is the call graph for this function:

◆ parallel_for() [8/10]

template<typename Index , typename Function >
void tbb::serial::interface9::parallel_for ( Index  first,
Index  last,
const Function &  f,
const auto_partitioner p 
)

Parallel iteration over a range of integers with default step and auto partitioner.

Definition at line 189 of file serial/tbb/parallel_for.h.

189  {
190  parallel_for_impl<Index,Function,const auto_partitioner>(first, last, static_cast<Index>(1), f, p);
191 }
auto first(Container &c) -> decltype(begin(c))
auto last(Container &c) -> decltype(begin(c))
void const char const char int ITT_FORMAT __itt_group_sync p

References tbb::internal::first(), tbb::internal::last(), and p.

Here is the call graph for this function:

◆ parallel_for() [9/10]

template<typename Index , typename Function >
void tbb::serial::interface9::parallel_for ( Index  first,
Index  last,
const Function &  f,
const static_partitioner p 
)

Parallel iteration over a range of integers with default step and static partitioner.

Definition at line 194 of file serial/tbb/parallel_for.h.

194  {
195  parallel_for_impl<Index,Function,const static_partitioner>(first, last, static_cast<Index>(1), f, p);
196 }
auto first(Container &c) -> decltype(begin(c))
auto last(Container &c) -> decltype(begin(c))
void const char const char int ITT_FORMAT __itt_group_sync p

References tbb::internal::first(), tbb::internal::last(), and p.

Here is the call graph for this function:

◆ parallel_for() [10/10]

template<typename Index , typename Function >
void tbb::serial::interface9::parallel_for ( Index  first,
Index  last,
const Function &  f,
affinity_partitioner p 
)

Parallel iteration over a range of integers with default step and affinity_partitioner.

Definition at line 199 of file serial/tbb/parallel_for.h.

199  {
200  parallel_for_impl(first, last, static_cast<Index>(1), f, p);
201 }
void parallel_for_impl(Index first, Index last, Index step, const Function &f, Partitioner &)
Implementation of parallel iteration over stepped range of integers with explicit step and partitione...
auto first(Container &c) -> decltype(begin(c))
auto last(Container &c) -> decltype(begin(c))
void const char const char int ITT_FORMAT __itt_group_sync p

References tbb::internal::first(), tbb::internal::last(), p, and parallel_for_impl().

Here is the call graph for this function:

◆ parallel_for_impl()

template<typename Index , typename Function , typename Partitioner >
void tbb::serial::interface9::parallel_for_impl ( Index  first,
Index  last,
Index  step,
const Function &  f,
Partitioner &   
)

Implementation of parallel iteration over stepped range of integers with explicit step and partitioner (ignored)

Definition at line 131 of file serial/tbb/parallel_for.h.

131  {
132  if (step <= 0 ) {
133 #if TBB_USE_EXCEPTIONS
134  throw std::invalid_argument( "nonpositive_step" );
135 #else
136  std::cerr << "nonpositive step in a call to parallel_for" << std::endl;
137  std::abort();
138 #endif
139  } else if (last > first) {
140  // Above "else" avoids "potential divide by zero" warning on some platforms
141  ANNOTATE_SITE_BEGIN( tbb_parallel_for );
142  for( Index i = first; i < last; i = i + step ) {
143  ANNOTATE_TASK_BEGIN( tbb_parallel_for_iteration );
144  { f( i ); }
145  ANNOTATE_TASK_END( tbb_parallel_for_iteration );
146  }
147  ANNOTATE_SITE_END( tbb_parallel_for );
148  }
149 }
auto first(Container &c) -> decltype(begin(c))
auto last(Container &c) -> decltype(begin(c))

References tbb::internal::first(), and tbb::internal::last().

Referenced by parallel_for().

Here is the call graph for this function:
Here is the caller graph for this function:

Copyright © 2005-2019 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.