[理工] 108成大資工計系

作者: Tommnny (Tommynofinger)   2021-12-23 17:37:59
成大108計系整份考卷越寫越挫敗,看了許多網路上的討論還是有些疑問
https://imgur.com/z65HJ0B.jpg
第二題的部分看了張凡的解答,他說T2部分沒有辦法平行化會用到前一個迴圈的資料,這邊的題目是逐行執行,因此我認為如果把每一行拆成4個部分平行化執行應該是可行的。還是說程式的執行沒法法這樣拆。
這個題目還有一個問題是前面是叫我們將程式轉成可平行化執行的程式碼嗎?
https://imgur.com/pt2VadV.jpg
第三題想問的是第四小題的部分,他說要計算I/O transfer time又傳輸速度正比於page size,想請問是怎麼樣的一個正比法。詳細的速度怎麼算。
https://imgur.com/HRkcw1g.jpg
第五題我想請問第二小題中他所問的是哪一種方法的latency較少,按照題目的意思感覺是event latency是在問context switch time,這樣答案不是應該是nonpreemptive嗎?
謝謝大家
作者: VF84 (Jolly Roger)   2021-12-23 18:25:00
你是說將 10000 拆成四份,用四個執行緒跑?這樣每個執行緒還是會相依於另外一個執行緒,因為他資料是從上一行上一列拉下來的我覺得這真的不太好解釋...要寫過類似的 code 才會有感覺
作者: lienasd126 (迷途の獅子)   2021-12-23 18:31:00
我覺得應該是v[2]會用到 v[1], v[3]會用到 v[2],所以假如你今天是SIMD,你還是一樣不可能 v1, v2 , v3, v4這樣一起跑,會有 data dependency
作者: joywilliamjo (joywilliamjoy)   2021-12-23 18:56:00
T2可以想像成DP啊,你要算出Y[i][j]會需要同個矩陣,他斜上的數據,要怎麼平行做QQ
作者: Tommnny (Tommynofinger)   2021-12-23 19:43:00
我是想說整行都是用前一行的資料 不是用這一行 所以一整行是不是可以4個執行緒一起做
作者: joywilliamjo (joywilliamjoy)   2021-12-23 21:02:00
會data dependency吧

Links booklink

Contact Us: admin [ a t ] ucptt.com