
Pattern: Recursive Algorithms 257
the core count, the fact that the such simple modifications to the code can
yield noticeable speedups is quite attractive.
Recursive algorithms such as the one used with Cilk in Listing 12.4 are
very important. As parallel programming expands its reach into general pur-
pose programming, the importance of these algorithms will grow. OpenMP
as originally conceived did not handle recursive algorithms very well. This
changed with OpenMP 3.0; a major upgrade of the language. As described
in Appendix A, OpenMP was redesigned to incorporate explicit tasks into
the OpenMP programming model. This lets a programmer create recursive ...