作者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/cn.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