Learning objectives
After this class, you should be able to:
- Show the steps involved in the iterative parallel prefix algorithm discussed in class, and derive its time complexity.
- Show how a linear recurrence can be formulated as a parallel prefix problem, and derive the time complexity of the parallel algorithm based on this formulation.
- Given a matrix, a vector, and the number of processors, show the steps involved in the 1-d and 2-d parallel algorithms, and derive the time complexity of these algorithms.
- Explain why the 2-d decomposition is more scalable than the 1-d one for matrix-vector multiplication.
- Explain why we require
b
andc
to have the same data decomposition in the matrix-vector multiplicationc = Ab
.
Reading assignment
- Handout on Parallel algorithms: Slides 21 - 30.
- CLR: pages 529 and 1082.
Exercises and review questions
- Questions on current lecture's material
- Give the formal algorithm for iterative parallel prefix and derive its time complexity.
- If a linear recurrence had three terms instead of two, then show how we can formulate it as a parallel prefix problem, and derive the time complexity.
- (Post your answer on the discussion board) Give an example of a
4x4
matrix and a vector, and show the steps involved in the 2-d parallel algorithm for performing matrix-vector multiplication on four processors.
- Questions on next lecture's material
- (Post your answer on the discussion board) Give an example of a connected graph with at least 5 vertices, and show its adjacency matrix.