Intel(R) 20 Questions Contest: Question 5

Submit New Article

June 13, 2010 9:00 PM PDT


logo

Intel(R) 20 Questions Contest: Question #5


Intel® Parallel Composer

Question:

Intel® Parallel Composer: Study convex_hull example which can be found at <Intel Parallel Studio directory>\Composer\tbb\examples. What Intel® Threading Building Blocks parallel algorithm does convex_hull use for computationally intensive part of the app?

Correct Answer:
parallel_reduce


Details:

Intel(R) Threading Building Blocks (Intel(R) TBB) is one of the components of Intel(R) Parallel Composer. Intel TBB implements higher level parallel algorithms, concurrent data containers, synchronization primitives, and a scalable memory allocator in familiar C++ templates and coding style that help you take advantage of multi-core processor performance without having to be a threading expert.

Developers can quickly parallelize their algorithms using Intel(R) TBB parallel algorithms:
- Parallel loops: parallel_for, parallel_reduce, parallel_for_each, parallel_do, parallel_scan
- Parallel pipelines: pipeline, parallel_pipeline
- Parallel functions: parallel_invoke
- Parallel sort: parallel_sort

Intel TBB also offers lower level interfaces for expert developers. It is portable between architectures, operating systems, and it is compiler independent. For more information, documentation, and examples please visit Intel(R) Threading Building Blocks home page.

convex_hull uses two Intel(R) TBB parallel algorithms: parallel_for for initialization and parallel_reduce for the algorithm itself (see Figure 1).

Figure 1:

TBB parallel_reduce