Question about systolic array algorithm
Closed this issue · 3 comments
In line 12, I think A' should be like this:
A' = [(i,j) -> ((j = 0) ? w(i,j)*I'(i,j), A(i,j-1)) + (W(i,j)*I'(i,j)))]
But in lecture note,
A' = [(i,j) -> ((j = 0) ? 0, A(i,j-1)) + (W(i,j)*I'(i,j)))].
But if we set 0, then it is weird because the values of first column of A will be always 0, then
A(i,j-1)) = 0 when j = 1.
Am I right?
thanks.
A' = [(i,j) -> ((j = 0) ? w(i,j)*I'(i,j), A(i,j-1)) + (W(i,j)*I'(i,j)))]
should be
A' = [(i,j) -> ((j = 0) ? w(i,j)*I'(i,j), ( A(i,j-1) + (W(i,j)*I'(i,j)))]
and
A' = [(i,j) -> ((j = 0) ? 0, A(i,j-1)) + (W(i,j)*I'(i,j)))]
should be
A' = [(i,j) -> ((j = 0) ? 0, A(i,j-1)) + (W(i,j)*I'(i,j))]
(Note that "(" and ")" are the only difference)
Then both mean
if j = 0
A'(i,j) = W(i,j)*I'(i,j)
else
A'(i,j) = A(i,j-1) + W(i,j)*I'(i,j)
I think there are some typo
Professor discussed it in the class. Just removing the rightmost ')' will do. Note that the parentheses do not match, i.e. there is one extra ')'.
Thank you.