Question
The following multithreaded algorithm computes the transpose of an n x n matrix A: transpose(A, B, n): // B is the transpose of A if
The following multithreaded algorithm computes the transpose of an n x n matrix A: transpose(A, B, n): // B is the transpose of A if (n == 1) B[1][1] = A[1][1]; else { partition A into 4 n/2 x n/2 submatrices A11, A12, A21, A22; partition B into 4 n/2 x n/2 submatrices B11, B12, B21, B22; spawn transpose(A11, B11, n/2); spawn transpose(A12, B21, n/2); spawn transpose(A21, B12, n/2); spawn transpose(A22, B22, n/2); sync; } a. Give and solve a recurrence equation T1(n) describing the work being done by the algorithm (i.e., this would be the execution time if there was only 1 processor). b. Give and solve a recurrence equation T(n) describing the critical path length for this algorithm (i.e., this would be the running time if using an unlimited number of processors). c. Using your answers from part a. and b., what is the parallelism of this algorithm?
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started