Most of the manual parallelization techniques
discussed in Chapter 9 “Parallel programming
techniques”,
allow you to take advantage of the compilers' automatic
dependence checking and data privatization. The examples that used
the LOOP_PRIVATE and TASK_PRIVATE
directives and pragmas in Chapter 10 “Data privatization”, are exceptions to this. In these cases,
manual privatization is required, but is performed on a loop-by-loop
basis. Only the simplest data dependences are handled.
This chapter discusses manual parallelizations and that handle
multiple and ordered data dependences. This includes a discussion
of the following topics: