004-【CMU15-418】【并行計(jì)算架構(gòu)和編程】【中英字幕】【Paralle

1. 在并行計(jì)算中,任務(wù)的分解和分配非常重要。
2. 并行計(jì)算中,第一步的計(jì)算可以很容易地并行化,每個(gè)像素的計(jì)算是獨(dú)立的。
3. 在并行計(jì)算中,通信和同步的開(kāi)銷需要盡量減少,以提高性能。
4. 動(dòng)態(tài)任務(wù)分配可以平衡負(fù)載,但會(huì)增加運(yùn)行時(shí)開(kāi)銷。
5. 程序員需要考慮如何組織代碼以最小化通信和同步的開(kāi)銷。
6. 編譯器可以決定將計(jì)算單元分配到向量槽中,而在GPU中,這個(gè)映射是由硬件完成的。
7. 在將線程復(fù)用到同一硬件上時(shí),應(yīng)該考慮將相關(guān)或不相關(guān)的線程放在一起的問(wèn)題。
8. 并行程序可以將數(shù)據(jù)結(jié)構(gòu)分割成多個(gè)部分進(jìn)行處理。
9. 并行程序可以使用紅黑排序來(lái)避免數(shù)據(jù)競(jìng)爭(zhēng)。
10. 在數(shù)據(jù)并行編程范式中,語(yǔ)言和運(yùn)行時(shí)系統(tǒng)會(huì)為程序員處理大部分工作。
11. 在求解器中,我們只需要在外部循環(huán)上進(jìn)行并行化,而不需要在內(nèi)部循環(huán)上進(jìn)行并行化。
12. 在數(shù)據(jù)并行語(yǔ)言中,可以使用for all命令來(lái)告訴語(yǔ)言這些迭代可以并行執(zhí)行。
13. 在共享地址空間模型中,需要使用barrier來(lái)同步線程,以確保更新操作的順序。
14. 在消息傳遞模型中,通信通過(guò)發(fā)送和接收消息進(jìn)行,需要使用ghost rows來(lái)存儲(chǔ)其他處理器的數(shù)據(jù)。
15. 在消息傳遞模型中,需要使用reduce操作來(lái)計(jì)算所有處理器的局部和,并進(jìn)行全局同步。
16. 支持并行計(jì)算的語(yǔ)言通常有一些減少原語(yǔ),可以自動(dòng)完成所需的操作。
17. 代碼中使用了整行發(fā)送的方式,以提高性能。
18. 代碼存在死鎖問(wèn)題,需要進(jìn)行修復(fù)。
19. 解決死鎖問(wèn)題的方法之一是切換發(fā)送和接收的順序。
20. 另一種解決方法是使用非阻塞的發(fā)送和接收。