This course will study techniques used in the design of parallelizing compilers. Techniques for computing dependencies and program representations suitable for parallelizing software will be presented. Topics will include detection of fine and coarse parallelism, program transformations and scheduling techniques to exploit parallelism on shared and distributed memory architectures, and techniques for debugging parallel software.

  • Credits: Variable
  • Frequency: Every term


Requirements and Grading