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

正文內(nèi)容

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

2022-09-11 23:11:04 本頁(yè)面
 

【正文】 –片內(nèi) cache的供數(shù)率能滿足指令級(jí)并行的要求 ? –片內(nèi) cache的命中率足夠高 ? –為多個(gè)線程或處理器提供各自的 cache? –如何通過(guò)程序或算法的改進(jìn)增強(qiáng)訪存局部性 ? 性能不僅依賴于結(jié)構(gòu) ? 性能的提高依賴于體系結(jié)構(gòu)上的革新 –硬件技術(shù)的發(fā)展對(duì)體系結(jié)構(gòu)提出了新的要求 –各個(gè)層次并行性的開(kāi)發(fā)是新體系結(jié)構(gòu)的主要特征 ? 實(shí)際性能的提高更依賴于體系結(jié)構(gòu)與編譯技 術(shù)、操作系統(tǒng)、應(yīng)用算法間的配合與協(xié)調(diào) – Architectural Support for Programming Languages and Operating Systems, Since 1988 ? 未來(lái)系統(tǒng)中兩大問(wèn)題的解決也是如此 –①極長(zhǎng)的等待時(shí)間;②極大的并行度 充分利用處理器內(nèi)的并行 ? 提高單機(jī)性能是提高并行機(jī)性能的基礎(chǔ) ? 目前 CPU內(nèi)部常用的并行結(jié)構(gòu)包括: –指令流水線與運(yùn)算流水線 –多個(gè)功能部件并行執(zhí)行 ? 如:定點(diǎn)運(yùn)算、存 /取、浮點(diǎn)加、浮點(diǎn)乘、 … ? 充分流水、并行工作的條件 –指令間沒(méi)有相關(guān),即相互獨(dú)立 –結(jié)構(gòu)相關(guān):兩條指令要用同一個(gè)部件 –數(shù)據(jù)相關(guān):一條指令要用另一條指令的結(jié)果 –控制相關(guān):條件轉(zhuǎn)移指令影響其它指令 發(fā)揮 CPU內(nèi)并行性的主要手段 ? 編譯程序:靜態(tài)指令調(diào)度 –分析程序中的指令流 –在不影響結(jié)果的前提下,對(duì)指令重新排序 –缺點(diǎn):不能獲得運(yùn)行時(shí)的動(dòng)態(tài)信息 –改進(jìn):基于 profile的指令調(diào)度或優(yōu)化 ? 硬件:超標(biāo)量、動(dòng)態(tài)指令調(diào)度 –由專用硬件檢查即將執(zhí)行的一段指令 –挑選出源操作數(shù)和功能部件都已齊備的指令 –缺點(diǎn):硬件會(huì)變得很復(fù)雜、降低時(shí)鐘頻率 假設(shè):取數(shù)時(shí)間較長(zhǎng),后續(xù)指令不能立即使用 源程序語(yǔ)句: a = b + c。 d = e f。 運(yùn)算順序的調(diào)整 ? 如下例所示: ? b[0]=a[0]*a[0]。 ? b[2]=a[2]*a[2]。 運(yùn)算順序的調(diào)整 ? 現(xiàn)在變動(dòng)如下: ? b[0]=a[0]*a[0]。 ? c[1]=1/b[1]。k10。 如果 B過(guò)大 ,CPU內(nèi)部寄存器的壓力就會(huì)很大 , 如果寄存器的數(shù)量不足以保存 B中出現(xiàn)的所有數(shù)據(jù) , 可能會(huì)出現(xiàn)顛簸的現(xiàn)象 , 剛剛從寄存器中換出的數(shù)據(jù)也許就是下一個(gè)需要的數(shù)據(jù) , 還得重新讀入寄存器 , 這對(duì)效率顯然是有影響的 。k10。j1000。j1000。j1000。 /* After: 1 array of stuctures */ struct merge { int val。 Reducing conflicts between val amp。 k = k+1) for (j = 0。 i = i+1) x[i][j] = 2 * x[i][j]。 i 5000。 將步長(zhǎng)為 100字的跳躍式訪問(wèn)變?yōu)轫樞蛟L問(wèn),增強(qiáng)了空間局部性 循環(huán)合并的例子 /* Before */ for (i = 0。 j = j+1) a[i][j] = 1/b[i][j] * c[i][j]。 j N。 i = i+1) for (j = 0。} 訪問(wèn) a和 c的 2次不命中降為 1次 分塊的例子 /* Before */ for (i = 0。 j = j+1) {r = 0。}。 jj N。 i N。 for (k = kk。 x[i][j] = x[i][j] + r。 iN。 kN。 for (i=begin。 j++) for (k=0。 iP。 jN。 例子:矩陣乘法(并行 3) 一開(kāi)始只有一個(gè)進(jìn)程在運(yùn)行 ?forall循環(huán)中的所有迭代均可并行執(zhí)行 forall (i=0。 j++) for (k=0。處理機(jī)數(shù)不顯式地給出。 k++) c[i][j]+=a[i][k]*b[k][j]。 i++) for (j=0。 kN。 iend。 k++) c[i][j]+=a[i][k]*b[k][j]。 i++) for (j=0。 例子:矩陣乘法(并行 1) 一開(kāi)始就有 P個(gè)并行進(jìn)程 ?myid的值為 0,1,...,P1 begin=N*myid/P。 jN。 B稱為 分塊因子 Blocking Factor ? 不命中數(shù)從 2N3 + N2 降到 2N3/B +N2 ? 但還存在因沖突導(dǎo)致的不命中 減少因分塊導(dǎo)致的沖突不命中 ? 需要對(duì)分塊后形成的子矩陣進(jìn)行重新布置 B loc kin g Fa ct or Miss Rate00. 050. 10 50 100 150F ull y A ss oc i ative C ach e D ire ct M a pp ed Ca c he 分塊的性能提高 ? 矩陣乘法: N=500 ? 在 i860上 –分塊前 , 運(yùn)行時(shí)間為 –分塊后 , 運(yùn)行時(shí)間為 , 加速比 ? 在 Pentium 166MMX上 –分塊前 , 運(yùn)行時(shí)間為 –分塊后 , 運(yùn)行時(shí)間為 , 加速比 多體交叉并行存儲(chǔ)系統(tǒng) ? 提高主存帶寬的重要途徑 –多個(gè)獨(dú)立的存儲(chǔ)體,統(tǒng)一編址,同時(shí)工作 –訪問(wèn)均勻地分布在所有體內(nèi)時(shí),帶寬線性提高 ? 地址分配方式: word
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1