kaist-cp/cs500

Indexes systolic array video

Closed this issue · 8 comments

Hi, can someone explain to me the indexes in the video of the systolic array?

If we multiply WX we would get something like:
y11 = ...
y12 = w11x12+w12x22+w13x32 which is clearly different to the video
and the resulting matrix would be 2x3 = (2x3)x(3x3)
W is 2x3 and X is 3x3
image

I think in the video they are calculating XW^{T} (3x3) x (3x2) = (3x2) matrix like in the video, 3 rows, 2 columns. But I think this is really confusing and misleading

Any ideas? Thank you!

I think you're seeing an old version. It's corrected as WX^T, from WX. #59
For the video, it describes convolution in Neural Networks, not matrix multiplication.

Convolution?? Omg I thought they were doing matrix multiplication in the video... I mean, in the lecture notes the video is on top of the Systolic Array algorithm implementation so I thought both do the same thing...
Thank you!!

For the record, convolution is WX^T. The computation of both matrix multiplication and convolution are essentially the same. One can just transpose X to use the other function. (i.e. for the purpose of cache row exploitation)

anyway, in the video they are doing WX^T and that should return a 2x3, however, they obtain a 3x2, right?
W is 2x3 and X^T is 3x3
Thanks

The video computes (WX^T)^T, but the lecture note computes WX^T.

@iriszero What do you mean by the convolution is WX^T ? Could you tell me more?

@CauchyComplete I think it's totally off-topic from this class. I meant convolution used in neural networks.

At this stage of the semester, I'd like to close tech-related issues.