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

1. 本課程將討論并行軟件的編寫。
2. 抽象和實(shí)現(xiàn)之間的區(qū)別很重要,不要混淆。
3. ISPC是一種并行語(yǔ)言,可以用于并行計(jì)算。
4. ISPC使用SPMD(Single Program Multiple Data)抽象來(lái)實(shí)現(xiàn)并行。
5. ISPC還提供了兩種數(shù)據(jù)訪問(wèn)方式:interleaved和blocked。
6. 在ISPC中,阻塞和交錯(cuò)是兩種不同的向量化編程方式,每種方式都有不同的性能表現(xiàn)。
7. ISPC中的for each是一種原始操作,它允許系統(tǒng)控制循環(huán)迭代的順序,從而實(shí)現(xiàn)并行計(jì)算。
8. ISPC中的共享地址空間抽象允許線程通過(guò)讀寫共享內(nèi)存來(lái)進(jìn)行通信和合作。
9. 共享地址空間的實(shí)現(xiàn)可以通過(guò)物理共享內(nèi)存或非統(tǒng)一內(nèi)存訪問(wèn)(NUMA)來(lái)實(shí)現(xiàn)。
10. 共享地址空間的優(yōu)點(diǎn)是通信簡(jiǎn)單,但需要額外的同步機(jī)制來(lái)確保數(shù)據(jù)的一致性和互斥訪問(wèn)。
11. 內(nèi)存共享:如果計(jì)算機(jī)有兩個(gè)插槽,那么它是一個(gè)非統(tǒng)一內(nèi)存訪問(wèn)機(jī)器,因?yàn)閮?nèi)存是在這兩個(gè)插槽之間共享的。
12. 共享地址空間機(jī)器:程序員可以共享相同的地址空間,但硬件實(shí)現(xiàn)上有一些挑戰(zhàn),如緩存一致性問(wèn)題。
13. 消息傳遞:每個(gè)線程只有私有數(shù)據(jù),沒(méi)有共享地址空間,通過(guò)發(fā)送消息進(jìn)行通信。
14. 數(shù)據(jù)并行:可以對(duì)數(shù)據(jù)進(jìn)行并行操作,避免數(shù)據(jù)競(jìng)爭(zhēng)和非確定性問(wèn)題。
15. 流模型:通過(guò)流來(lái)處理數(shù)據(jù)并應(yīng)用純函數(shù),避免數(shù)據(jù)競(jìng)爭(zhēng)和非確定性問(wèn)題。
16. 數(shù)據(jù)并行模型適用于需要對(duì)大量數(shù)據(jù)應(yīng)用相同計(jì)算的情況,如GPU。
17. 共享地址空間模型通過(guò)在共享地址空間中加載和存儲(chǔ)內(nèi)存來(lái)進(jìn)行通信。
18. 消息傳遞模型通過(guò)向其他線程發(fā)送消息來(lái)進(jìn)行通信,因?yàn)樗挥兴接袃?nèi)存地址空間。
19. 數(shù)據(jù)并行模型將某個(gè)函數(shù)或計(jì)算映射到一組數(shù)據(jù)上。
20. 在實(shí)踐中,要充分利用高端機(jī)器,通常需要同時(shí)使用共享地址空間、消息傳遞和數(shù)據(jù)并行等多種編程模型。