kaist-cp/cs500

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.