| June 13, 2010 9:00 PM PDT | |
Intel(R) 20 Questions Contest: Question #5
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:
For more complete information about compiler optimizations, see our Optimization Notice.

