freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

高性能計算機(jī)的體系結(jié)構(gòu)與程序優(yōu)化-資料下載頁

2024-08-31 23:11本頁面

【導(dǎo)讀】應(yīng)用編程與體系結(jié)構(gòu)的關(guān)系。高性能計算機(jī)體系結(jié)構(gòu)概述。存儲器的層次結(jié)構(gòu)。多體交叉的并行存儲系統(tǒng)。分布存儲系統(tǒng)中的通信優(yōu)化。體系結(jié)構(gòu)是硬件和系統(tǒng)軟件之間的界面。–先進(jìn)的工藝技術(shù)--純粹屬于硬件的范圍?技術(shù)方面的缺點需要通過結(jié)構(gòu)來彌補(bǔ)。各個級別上并行性的開發(fā)。如動態(tài)執(zhí)行,猜測執(zhí)行,COMA等。芯片面積主要用于功能部件和高速緩存。分支預(yù)測,循環(huán)展開,軟件流水,蹤跡調(diào)度。由硬件提供快速的上下文切換機(jī)制。多個線程的指令在同一流水線中(無依賴). 第一個多線程系統(tǒng)已經(jīng)問世。硬件動態(tài)地分析指令流,同時執(zhí)行多條指令。需要發(fā)掘指令級并行性的新來源。存儲一致性模型與實現(xiàn)效率。如何避免、隱藏或容忍遠(yuǎn)程訪問的開銷。COMA中沒有物理地址,數(shù)據(jù)可動態(tài)遷移。CPU消耗數(shù)據(jù)的速率遠(yuǎn)大于存儲器供數(shù)率。性能的提高依賴于體系結(jié)構(gòu)上的革新。未來系統(tǒng)中兩大問題的解決也是如此。提高單機(jī)性能是提高并行機(jī)性能的基礎(chǔ)。目前CPU內(nèi)部常用的并行結(jié)構(gòu)包括:。充分流水、并行工作的條件。充分利用已經(jīng)優(yōu)化過的庫函數(shù)

  

【正文】 其它導(dǎo)致沖突的情形 –矩陣中的一個長方形塊 – FFT算法中存取步長依次為 2i, i = 0, 1, 2, … ? 減少沖突的方法(與 cache優(yōu)化類似) –循環(huán)交換、數(shù)組加邊 并行處理概述 ? 利用多個部件完成同一個任務(wù) ? 并行處理的好處 –提高性能:縮短解題時間,擴(kuò)大解題規(guī)模 –降低成本:與同樣性能的單機(jī)相比 –容錯:更高的可用性 ? 并行處理的層次 –處理機(jī)內(nèi):指令級并行,多功能部件 –處理機(jī)間:多處理機(jī),多計算機(jī) 多機(jī)并行的基本形式 ? 按指令流與數(shù)據(jù)流的數(shù)量來劃分 –單指令流多數(shù)據(jù)流( SIMD) –多指令流多數(shù)據(jù)流( MIMD) ? 按機(jī)間的互連方式來劃分 –總線結(jié)構(gòu)、交叉開關(guān)、網(wǎng)格結(jié)構(gòu)、超立方體 –樹型結(jié)構(gòu)、星型結(jié)構(gòu) ? 按存儲器的組織方式來劃分 –集中式存儲,通常是為多個處理機(jī)共享 –分布式存儲,通常是各個處理機(jī)私有的 兩種基本的結(jié)構(gòu) 互連網(wǎng)絡(luò)(總線、開關(guān)等) P1 Pn M1 Mn 分布存儲的結(jié)構(gòu) 適合任務(wù)間并行 互連網(wǎng)絡(luò)(總線、開關(guān)等) P1 Pn M1 Mn 共享存儲的結(jié)構(gòu) 適合任務(wù)間、任務(wù)內(nèi)并行 并行處理的過程:矩陣乘法 ? A ? B = C的過程可分為四個獨(dú)立的部分: Ai ? B = Ci, i = 1, 2, 3, 4 ? 每部分包含的運(yùn)算可由一臺處理機(jī)單獨(dú)完成 ? 在集中存儲的系統(tǒng)中,同時訪問 B會導(dǎo)致沖突 ? 在分布存儲的系統(tǒng)中, B的分散存儲會導(dǎo)致通信 A B C X = A1 A2 A3 A4 C1 C2 C3 C4 并行處理的性能 ? 加速比:串行計算時間除以并行計算時間 ? 加速比小于處理單元數(shù)目的原因: –存在不可并行成分: Speedup 1/s –負(fù)載不均衡:有些處理機(jī)沒事做 –通信開銷:包括傳遞消息、訪存沖突等 –同步開銷:為了步調(diào)一致,必須相互等待 ? 極端的情況:并行后的性能比單機(jī)還差 ? 也可能出現(xiàn)超線性的加速比 并行粒度:在哪個級別上并行? ? 子任務(wù)級的并行(粗粒度) –例如:方位 FFT、距離 FFT、距離 IFFT、方位 IFFT各由一個處理機(jī)完成,形成宏觀流水 –子任務(wù)的運(yùn)算量差別較大時,不易實現(xiàn)負(fù)載的平衡 ? 數(shù)據(jù)級的并行(中等粒度或細(xì)粒度) –對問題相關(guān)的數(shù)據(jù)場進(jìn)行劃分,每個處理器負(fù)責(zé)整個數(shù)據(jù)場的一小部分 –各部分間耦合較多時,對存儲器及互連網(wǎng)絡(luò)的性能要求較高 并行算法設(shè)計 ? 并行算法設(shè)計的目標(biāo) –開發(fā)問題求解過程中的并行性 –尋求并行算法與并行結(jié)構(gòu)的最佳匹配 –合理地組織并行任務(wù),減少額外的開銷 ? 并行化的主要方法:分而治之 –根據(jù)問題的求解過程,把任務(wù)分成若干子任務(wù) –根據(jù)處理數(shù)據(jù)的方式,形成多個相對獨(dú)立的數(shù)據(jù)區(qū),由不同的處理器分別處理 –將一個循環(huán)分成多個循環(huán)并行地執(zhí)行 并行計算機(jī)設(shè)計程序的三種方式 ? 串行程序的自動并行化 –用戶提供常規(guī)的串行程序,編譯器完成并行化 –由于編譯器能力有限,只對部分應(yīng)用有效 ? 使用全新的并行語言:函數(shù)型、數(shù)據(jù)流等 –已有應(yīng)用程序需要全部改寫 –新語言的實現(xiàn)效率有待進(jìn)一步提高 ? 串行語言 +并行化擴(kuò)充 –增加支持并行性開發(fā)與通信同步的庫調(diào)用 –增加新的語言成分,如數(shù)組運(yùn)算、并行循環(huán)等 – SPMD (Single Program Multiple Data)編程模式 例子:矩陣乘法(串行) double a[N][N],b[N][N],c[N][N]。 for (i=0。 iN。 i++) for (j=0。 jN。 j++) for (k=0。 kN。 k++) c[i][j]+=a[i][k]*b[k][j]。 例子:矩陣乘法(并行 1) 一開始就有 P個并行進(jìn)程 ?myid的值為 0,1,...,P1 begin=N*myid/P。 end=N*(myid+1)/P。 for (i=begin。 iend。 i++) for (j=0。 jN。 j++) for (k=0。 kN。 k++) c[i][j]+=a[i][k]*b[k][j]。 例子:矩陣乘法(并行 2) 一開始只有一個進(jìn)程在運(yùn)行 ?在 main函數(shù)內(nèi): for (i=0。 iP。 i++) fork(subp,N*i/P,N*(i+1)/P) ?在 subp(int begin, int end)函數(shù)內(nèi): for (i=begin。 iend。 i++) for (j=0。 jN。 j++) for (k=0。 kN。 k++) c[i][j]+=a[i][k]*b[k][j]。 例子:矩陣乘法(并行 3) 一開始只有一個進(jìn)程在運(yùn)行 ?forall循環(huán)中的所有迭代均可并行執(zhí)行 forall (i=0。 iN。 i++) for (j=0。 jN。 j++) for (k=0。 kN。 k++) c[i][j]+=a[i][k]*b[k][j]。 ? 程序首先由單個進(jìn)程運(yùn)行,遇 forall時自動進(jìn)入多進(jìn)程運(yùn)行,出 forall后恢復(fù)單進(jìn)程運(yùn)行。處理機(jī)數(shù)不顯式地給出。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1