Mesh Implementations
Cannon’s Algorithm
Uses a mesh of processors with wraparound connections (a torus) to shift the A
elements (or submatrices) left and the B elements (or submatrices) up.
1.Initially processor Pi,j has elements ai,j and bi,j (0 <= i < n, 0 <= k < n).
2. Elements are moved from their initial position to an “aligned” position. The
complete ith row of A is shifted i places left and the complete jth column of
B is shifted j places upward. This has the effect of placing the element ai,j+i
and the element bi+j,j in processor Pi,j,. These elements are a pair of those
required in the accumulation of ci,j.
3.Each processor, Pi,j, multiplies its elements.
4. The ith row of A is shifted one place right, and the jth column of B is shifted
one place upward. This has the effect of bringing together the adjacent
elements of A and B, which will also be required in the accumulation.
5. Each processor, Pi,j, multiplies the elements brought to it and adds the
result to the accumulating sum.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '10
 DEO
 Algorithms, Chess opening, Howard Staunton, ith row, Flank opening, Encyclopaedia of Chess Openings, complete ith row

Click to edit the document details