作者dsa66253 (Kobe Mary)
看板Grad-ProbAsk
標題[理工] 計組 103 台大電機
時間Sun Nov 17 18:48:57 2019
這題在考什麼?感覺矩陣運算都可以被平行處理?完全沒有頭緒,也沒有解析,煩請大大
幫忙
https://i.imgur.com/LDTLZpX.jpg
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 150.117.242.146 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Grad-ProbAsk/M.1573987739.A.C89.html
1F:推 b10007034: 把for loop拆開來就懂了 11/17 19:28
2F:推 zuchang: 題目給row major 平行 b以column 來平行!? 11/17 19:37
3F:推 b10007034: 其實跟矩陣沒關係,只是陣列而已 11/17 19:47
4F:推 ok8752665: 看資料有沒有相依就好 另外 abc題目是不是有問題啊 11/17 19:49
5F:推 mi981027: 忘記賦值了 這樣b好像可以選欸XD 11/17 20:27
6F:→ b10007034: a[0]會改值,其他又需要用到a[0] 11/17 20:35
7F:→ mi981027: 他忘記把加後的值還給a[i]了 加等於沒加 11/17 20:38
8F:→ zoo868e: 其他的會連不到a[0]吧? 11/17 20:39
9F:推 b10007034: 哈哈,題目需要勘誤了,原題目是有賦值的 11/17 20:44
10F:推 mistel: e選項這樣改就可以是這個case可以還是有固定的方法啊 11/17 22:20
11F:→ dsa66253: 請問是用loop unrolling的方法嗎?b不行的原因是因為a0 11/18 12:52
12F:→ dsa66253: 在迴圈第一次會被改寫 此時其他core就不行同時使用a0? 11/18 12:52
13F:推 b10007034: Loop unrolling 泛指於compiler技巧,我說的拆開來只 11/18 14:18
14F:→ b10007034: 是自己寫在紙上用人眼檢查 11/18 14:18
15F:→ b10007034: 對,所以需要經過改寫 11/18 14:22
16F:→ b10007034: 先執行a[0]+=a[0] 11/18 14:22
17F:→ b10007034: 剩下的for(1-98)就可以平行跑 11/18 14:22
18F:→ dsa66253: 請問d e為什麼要改寫成這樣?看不出有dependency 11/21 00:03