Intel’s Michael McCool wrote a series of blog posts in the past about structured patterns as a basis for high-level parallel programming. He writes that, together, these patterns constitute a minimal yet broadly applicable set of components for deterministic parallel programming. The first pattern he presents in the 12-part series is one that at first glance is serial: the sequence. However, he writes, a sequence of operations in a program, if it can be reordered while respecting data dependencies, can in fact express fairly general forms of task parallelism.
To read the full blog post, click here.