Credits:

Semesters Offered

Topics Covered

  • Introduction to Parallel Algorithms: Performance of Parallel Algorithms Including Work and Depth, Optimality Notions
  • Basic Techniques: Balanced Trees, Pointer Jumping, Divide-and-Conquer, Partitioning, Pipelining, Accelerated Cascading, Breaking Symmetry
  • Trees and Lists: List Ranking, The Euler Tour Techniques, Tree Connection, Evaluation of Arithmetic Expressions
  • Searching, Merging and Sorting
  • Graphs: Connected Components, Transitive Closure, Paths Problems
  • Strings: Some string matching algorithms
  • Introduction to Parallel Processing
  • Matrix multiplication, in particular on GPU, and its role in deep learning
  • Introduction to state-of-the-art of parallel computing and discussion of the question: Can fine-grained large scale on-chip parallel computing be harnessed towards faster completion time of a single general-purpose computing task?