Introduction to Parallel Programming: Threading Strategies (Intel)

This module introduces concepts and industry-standard methodologies common to the implementation of three threading strategies: domain decomposition, task decomposition, pipeline decomposition.

Students learn to construct a dependency graph to analyze which of the three threading strategies might best be applied. They also learn how to identify race conditions.

Students learn basic principles of parallel programming on shared-memory systems, including how to recognize key areas of code that are good candidates for parallelism.

Topics include:

  • Recognizing opportunities for parallelism
  • Preventing potential synchronization issues
  • Domain decomposition
  • Task decomposition
  • Pipelining
  • Analyzing and improving performance
  • Choosing the appropriate threading model
There are downloads available under the Creative Commons License license. Download Now
For more complete information about compiler optimizations, see our Optimization Notice.