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 157 of file serial/tbb/parallel_for.h.

157  {
158  parallel_for_impl<Index,Function,const auto_partitioner>(first, last, step, f, auto_partitioner());
159 }
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 162 of file serial/tbb/parallel_for.h.

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

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 167 of file serial/tbb/parallel_for.h.

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

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 172 of file serial/tbb/parallel_for.h.

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

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 177 of file serial/tbb/parallel_for.h.

177  {
178  parallel_for_impl(first, last, step, f, p);
179 }
auto first(Container &c) -> decltype(begin(c))
void const char const char int ITT_FORMAT __itt_group_sync p
auto last(Container &c) -> decltype(begin(c))
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...

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 183 of file serial/tbb/parallel_for.h.

183  {
184  parallel_for_impl<Index,Function,const auto_partitioner>(first, last, static_cast<Index>(1), f, auto_partitioner());
185 }
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 188 of file serial/tbb/parallel_for.h.

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

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 193 of file serial/tbb/parallel_for.h.

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

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 198 of file serial/tbb/parallel_for.h.

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

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 203 of file serial/tbb/parallel_for.h.

203  {
204  parallel_for_impl(first, last, static_cast<Index>(1), f, p);
205 }
auto first(Container &c) -> decltype(begin(c))
void const char const char int ITT_FORMAT __itt_group_sync p
auto last(Container &c) -> decltype(begin(c))
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...

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 135 of file serial/tbb/parallel_for.h.

135  {
136  if (step <= 0 ) {
137 #if TBB_USE_EXCEPTIONS
138  throw std::invalid_argument( "nonpositive_step" );
139 #else
140  std::cerr << "nonpositive step in a call to parallel_for" << std::endl;
141  std::abort();
142 #endif
143  } else if (last > first) {
144  // Above "else" avoids "potential divide by zero" warning on some platforms
145  ANNOTATE_SITE_BEGIN( tbb_parallel_for );
146  for( Index i = first; i < last; i = i + step ) {
147  ANNOTATE_TASK_BEGIN( tbb_parallel_for_iteration );
148  { f( i ); }
149  ANNOTATE_TASK_END( tbb_parallel_for_iteration );
150  }
151  ANNOTATE_SITE_END( tbb_parallel_for );
152  }
153 }
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.