版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
高性能矩陣乘法精品七、管理數(shù)據(jù)清單數(shù)據(jù)清單是指包含相關(guān)數(shù)據(jù)的一系列工作表,例如,發(fā)票數(shù)據(jù)庫(kù)或一組客戶名稱和電話號(hào)碼,清單的第一行具有列標(biāo)志。EXCEL提供了一系列的管理和分析數(shù)據(jù)清單功能,可以方便的管理這些數(shù)據(jù)清單。數(shù)據(jù)清單就如數(shù)據(jù)庫(kù),所謂數(shù)據(jù)庫(kù)的管理,就是新增、編輯、刪除、查找記錄等。使用數(shù)據(jù)清單可以更方便的管理和分析數(shù)據(jù)清單中的數(shù)據(jù)。1、建立數(shù)據(jù)清單數(shù)據(jù)清單的來(lái)源有兩種:一種是直接在工作表中輸入數(shù)據(jù)清單;另一種是導(dǎo)入外部數(shù)據(jù),導(dǎo)入的數(shù)據(jù)可以是記事本,WORD等。具體操作點(diǎn)擊數(shù)據(jù)菜單下的記錄單進(jìn)行相應(yīng)的操作。2、數(shù)據(jù)清單的排序數(shù)據(jù)排序需要設(shè)置以下兩個(gè)方面:排序關(guān)鍵字:指定要根據(jù)哪一個(gè)字段的值來(lái)排序。排序順序:指定的是按照值的升序排列(A到Z,或0到9)或降序排列(Z到A,或9到0)(1)點(diǎn)擊數(shù)據(jù)菜單下的排序進(jìn)行排序。(2)單擊格式工具中的降序或者升序排序即可。3、篩選數(shù)據(jù)與排序不同,篩選并不重排清單。篩選只是暫時(shí)隱藏不必顯示的行,而且一次只能對(duì)工作表中的一個(gè)數(shù)據(jù)清單使用篩選命令。篩選是查找和處理數(shù)據(jù)清單中數(shù)據(jù)子集的快捷方法。(1)使用自動(dòng)篩選,包含按選定內(nèi)容篩選,適用于簡(jiǎn)單條件。(2)使用高級(jí)篩選,適用與復(fù)雜條件。4、分類匯總數(shù)據(jù)分類匯總涉及到三個(gè)部分:分組、使用函數(shù)以及計(jì)算分類匯總的字段。(1)創(chuàng)建分類匯總(2)創(chuàng)建分級(jí)顯示八、圖表的使用EXCEL中的圖表按照插入的位置分類:內(nèi)嵌圖表和工作表圖表。內(nèi)嵌圖表一般與其數(shù)據(jù)源在一起,在一個(gè)工作表中;工作圖表就是與數(shù)據(jù)源分離,占據(jù)整個(gè)工作表的圖表。按照表示數(shù)據(jù)的圖形來(lái)分,圖表分為柱形圖,餅形圖,曲形圖等多種類型同一數(shù)據(jù)源可以使用不同圖表類型創(chuàng)建的圖表,他們看起來(lái)差異很大,但是表示的數(shù)據(jù)是相同的。高性能矩陣乘法高性能矩陣乘法精品七、管理數(shù)據(jù)清單數(shù)據(jù)清單是指包含相關(guān)數(shù)據(jù)的一系列工作表,例如,發(fā)票數(shù)據(jù)庫(kù)或一組客戶名稱和電話號(hào)碼,清單的第一行具有列標(biāo)志。EXCEL提供了一系列的管理和分析數(shù)據(jù)清單功能,可以方便的管理這些數(shù)據(jù)清單。數(shù)據(jù)清單就如數(shù)據(jù)庫(kù),所謂數(shù)據(jù)庫(kù)的管理,就是新增、編輯、刪除、查找記錄等。使用數(shù)據(jù)清單可以更方便的管理和分析數(shù)據(jù)清單中的數(shù)據(jù)。1、建立數(shù)據(jù)清單數(shù)據(jù)清單的來(lái)源有兩種:一種是直接在工作表中輸入數(shù)據(jù)清單;另一種是導(dǎo)入外部數(shù)據(jù),導(dǎo)入的數(shù)據(jù)可以是記事本,WORD等。具體操作點(diǎn)擊數(shù)據(jù)菜單下的記錄單進(jìn)行相應(yīng)的操作。2、數(shù)據(jù)清單的排序數(shù)據(jù)排序需要設(shè)置以下兩個(gè)方面:排序關(guān)鍵字:指定要根據(jù)哪一個(gè)字段的值來(lái)排序。排序順序:指定的是按照值的升序排列(A到Z,或0到9)或降序排列(Z到A,或9到0)(1)點(diǎn)擊數(shù)據(jù)菜單下的排序進(jìn)行排序。(2)單擊格式工具中的降序或者升序排序即可。3、篩選數(shù)據(jù)與排序不同,篩選并不重排清單。篩選只是暫時(shí)隱藏不必顯示的行,而且一次只能對(duì)工作表中的一個(gè)數(shù)據(jù)清單使用篩選命令。篩選是查找和處理數(shù)據(jù)清單中數(shù)據(jù)子集的快捷方法。(1)使用自動(dòng)篩選,包含按選定內(nèi)容篩選,適用于簡(jiǎn)單條件。(2)使用高級(jí)篩選,適用與復(fù)雜條件。4、分類匯總數(shù)據(jù)分類匯總涉及到三個(gè)部分:分組、使用函數(shù)以及計(jì)算分類匯總的字段。(1)創(chuàng)建分類匯總(2)創(chuàng)建分級(jí)顯示八、圖表的使用EXCEL中的圖表按照插入的位置分類:內(nèi)嵌圖表和工作表圖表。內(nèi)嵌圖表一般與其數(shù)據(jù)源在一起,在一個(gè)工作表中;工作圖表就是與數(shù)據(jù)源分離,占據(jù)整個(gè)工作表的圖表。按照表示數(shù)據(jù)的圖形來(lái)分,圖表分為柱形圖,餅形圖,曲形圖等多種類型同一數(shù)據(jù)源可以使用不同圖表類型創(chuàng)建的圖表,他們看起來(lái)差異很大,但是表示的數(shù)據(jù)是相同的。高性能矩陣乘法精品七、管理數(shù)據(jù)清單高性能矩陣乘法高性能矩陣乘1并行算法優(yōu)化研究相對(duì)于傳統(tǒng)面向?qū)ο蟠兴惴ǖ?個(gè)挑戰(zhàn):同步:兩個(gè)或者多個(gè)線程協(xié)調(diào)其行為的過(guò)程通信:與線程之間交換數(shù)據(jù)相關(guān)的帶寬和延遲問(wèn)題負(fù)載均衡:多個(gè)線程之間工作量分布的情況,給各個(gè)線程(執(zhí)行核)分配均勻的工作可擴(kuò)展性:衡量在性能更加強(qiáng)勁的系統(tǒng)上運(yùn)行軟件時(shí)能否有效利用更多線程的指標(biāo), 觀察應(yīng)用程序在更高級(jí)的平臺(tái)上運(yùn)行 4核到8核線性增長(zhǎng)2022/12/302并行算法優(yōu)化研究相對(duì)于傳統(tǒng)面向?qū)ο蟠兴惴ǖ?個(gè)挑戰(zhàn):202多線程(核)設(shè)計(jì)主要分解模式任務(wù)分解: 對(duì)程序根據(jù)其執(zhí)行的功能進(jìn)行分解的過(guò)程數(shù)據(jù)分解: 將應(yīng)用程序根據(jù)各任務(wù)所處理的數(shù)據(jù)而非按任務(wù)的天然特性來(lái)進(jìn)行分解數(shù)據(jù)流分解: 研究數(shù)據(jù)在諸任務(wù)之間如何流動(dòng),根據(jù)任務(wù)之間的數(shù)據(jù)流關(guān)系對(duì)問(wèn)題 進(jìn)行分解模式分解方式任務(wù)級(jí)并行模式任務(wù)分解DivideandConquer任務(wù)/數(shù)據(jù)分解幾何分解模式數(shù)據(jù)分解流水線模式數(shù)據(jù)流分解波峰(wavefront)模式數(shù)據(jù)流分解2022/12/303多線程(核)設(shè)計(jì)主要分解模式模式分解方式任務(wù)級(jí)并行模式任務(wù)分多線程(核)設(shè)計(jì)主要分解模式任務(wù)分解: 對(duì)程序根據(jù)其執(zhí)行的功能進(jìn)行分解的過(guò)程數(shù)據(jù)分解: 將應(yīng)用程序根據(jù)各任務(wù)所處理的數(shù)據(jù)而非按任務(wù)的天然特性來(lái)進(jìn)行分解數(shù)據(jù)流分解: 研究數(shù)據(jù)在諸任務(wù)之間如何流動(dòng),根據(jù)任務(wù)之間的數(shù)據(jù)流關(guān)系對(duì)問(wèn)題 進(jìn)行分解
分解方式設(shè)計(jì)說(shuō)明任務(wù)分解不同的程序行為采用不同的線程實(shí)現(xiàn)常用于GUI應(yīng)用程序數(shù)據(jù)分解多個(gè)線程對(duì)不同的數(shù)據(jù)塊執(zhí)行相同的操作常用于音頻、圖像處理和科學(xué)計(jì)算應(yīng)用程序數(shù)據(jù)流分解一個(gè)線程的輸出作為另一個(gè)線程的輸入尤其應(yīng)注意盡量消除啟動(dòng)和排空延遲2022/12/304多線程(核)設(shè)計(jì)主要分解模式分解方式設(shè)計(jì)說(shuō)明任務(wù)分解不同的程矩陣乘法算法探討
在工程科學(xué)計(jì)算中,矩陣乘積是最基本的運(yùn)算 典型的n階稠密方陣乘積算法的時(shí)間復(fù)雜度是O(n3)。 目前對(duì)大型矩陣乘積運(yùn)算的處理主要是采用分治思想,將矩陣分布在多個(gè)節(jié)點(diǎn)上,但每個(gè)結(jié)點(diǎn)上的小矩陣仍要立方級(jí)乘法次數(shù)。 基于分之思想的兩種劃分策略:條形劃分和塊狀(棋盤)劃分的6種常見分布式矩陣乘法并行算法。
2022/12/305矩陣乘法算法探討 在工程科學(xué)計(jì)算中,矩陣乘積是最基本的運(yùn)算2基于不同劃分策略的矩陣乘法算法探討
1、條形(stripedpartitioning)劃分的矩陣乘法并行算法
行條劃分 列條劃分兩兩組合:行列、行行、列列、列行2022/12/306基于不同劃分策略的矩陣乘法算法探討 1、條形(striped基于不同劃分策略的矩陣乘法算法探討
2、塊狀劃分(checkerboardpartitioning)的矩陣乘法并行算法
稱為棋盤劃分2022/12/307基于不同劃分策略的矩陣乘法算法探討 2、塊狀劃分(checkCannon
DescriptionforimplementationofMPIprogramtocomputeMatrixMatrixMultiplicationusingblockcheckerboardpartitioning
andCannonAlgorithm
2022/12/308Cannon2022/12/298Cannon
Objective
Computingthematrix-matrixmultiplicationonSMPSystem.UseblockcheckerboardpartitioningofthematricesandCannon'sAlgorithm.
AssumptionSizeofthesquarematricesp=q2andthesizeofsquarematricesAandBisevenlydivisiblebyq.
Itisassumedthatthenumberofblocksareequaltothenumberofprocessors.2022/12/309CannonObjective
2022/Cannon
Cannon'salgorithmisbasedoncartesianvirtualtopologyAandBaresquarematricesofsizenandCbetheoutput
matrix.Thesematricesaredivedintoblocksorsubmatricestoperformmatrix-matrixoperationsinparallelnxnmatrixAcanberegardedasqxqarrayofblocksAi,j(0<=i<q,0<=j<q)suchthateachblockisan(n/q)x(n/q)submatrixWeusep
processorstoimplementtheblockversionofmatrixmultiplicationinparallelbychoosingqasasquarerootof
p
andcomputeadistinctblockCi,joneachprocessor.2022/12/3010CannonCannon'salgorit傳統(tǒng)并行
2022/12/3011傳統(tǒng)并行2022/12/2911傳統(tǒng)并行
ThematricesAandBare
partitionedintop
blocks,A
i,j
andBi,j
(0<=i<q,0<=j<q)ofsize
(n/qxn/q)
oneachprocess.Theseblocksaremappedontoaqxq
logicalmeshofprocesses.TheprocessesarelabeledfromP0,0toPq-1,q-1.2022/12/3012傳統(tǒng)并行ThematricesAandBare傳統(tǒng)并行
ProcessPi,jinitiallystoreblockmatricesAi,jandBi,jandcomputesblockCi,jofresultmatrix.TocomputesubmatrixCi,j,weneedallsubmatrices,Ai,kand
Bk,j(0
<=k<q).Toacquirealltherequiredblocks,anall-to-allbroadcastofmatrixAi,j's
isperformedineachrowandsimilarlyineachcolumnofmatrixBi,j's.MPIcollectivecommunicationisusedtoperformthisoperations.2022/12/3013傳統(tǒng)并行ProcessPi,jinitiallys傳統(tǒng)并行
AfterPi,jacquires,Ai,0,Ai,1,Ai,2
,Ai,q-1andB0,j
,B1,j
,B2,j
,Bq-1,j
,itperformstheserialblockmatrixtomatrixmultiplicationandaccumulatesthepartialblock
matrixCi,jofmatrixC.ToobtaintheresultantproductmatrixC,processeswithrank0gathersalltheblockmatricesbyusingMPI_Gather
collectivecommunicationoperation.2022/12/3014傳統(tǒng)并行AfterPi,jacquirCannon
pprocessorsarrangedinqxqsquaregridofprocessorsandtheinputmatrices.AandBaredistributedamongtheprocessesincheckerboardfashion.ItresultsinconstructingpblockmatricesofAandB.Itusesonlypoint-to-pointcommunication
forcircularlyshiftingblocksofmatrixAandmatrixBamongpprocesses.
2022/12/3015CannonpprocessorsarrCannon-inital
Thealgorithmproceedsinq
stages.ThefirststepinthisalgorithmistoperforminitialalignmentoftheblockmatrixAandblockmatrixB.TheblocksofmatrixAarecircularlyshiftedtothe
i
positionstoleftintherowofthesquaregridofprocesses,wherei
istherow
numberoftheprocessinthemesh.TheblocksofmatrixBarecircularlyshiftedj
positionsupwards,wherejisthecolumn
numberoftheprocessintheprocessesmesh.2022/12/3016Cannon-initalThealgorCannon-inital2022/12/3017Cannon-inital2022/12/2917Cannon-runningThealgorithmperformsthefollowingstepsineachstage:
1.MultiplytheblockofmatrixAandmatrixBandaddtheresultantmatrixtogettheblockmatrixC,whichisinitiallysettozero.
2.CircularlyshifttheblocksofmatrixAtoleftintherowsoftheprocessesandtheblocksofmatrixBupwardsinthecolumnsofthesquaregridofprocessesinawraparoundmanner.
2022/12/3018Cannon-runningThealgorithmpeCannon-running2022/12/3019Cannon-running2022/12/2919Cannon-running2022/12/3020Cannon-running2022/12/2920書中Cannon-bug
MPI_SendandMPI_Recvisnotusedforpoint-to-pointcommunicationbecauseifalltheprocessescallMPI_SendorMPI_Recv
indifferentorderthedeadlockedsituationmayarise.
Howtofix?指派一個(gè)緩沖區(qū),使用MPI_Irecv/MPI_Isend非阻塞式通訊函數(shù),MPI_wait.MPI_Sendrecv.
2022/12/3021書中Cannon-bug
MPI_SendandMPI_Cannon-bug
死鎖的問(wèn)題 問(wèn)題來(lái)源于main_shift()這個(gè)函數(shù)中MPI函數(shù)的使用。在Cannon-mpi代碼的main_shift()模塊中,文獻(xiàn)中算法使用的是MPI的阻塞通信函數(shù):MPI_Send/MPI_Recv,這就使得Cannon算法在執(zhí)行循環(huán)左移和循環(huán)上移時(shí),矩陣規(guī)模超過(guò)共享buff的容量時(shí)出現(xiàn)循環(huán)等待的死鎖狀況。 在曙光4000集群系統(tǒng)上,該算法的發(fā)生死鎖的矩陣下限規(guī)模是200×200的浮點(diǎn)型矩陣。2022/12/3022Cannon-bug 死鎖的問(wèn)題2022/12/2922Cannon-bug原始(阻塞式)的main_shift模塊:
voidmain_shift() { … /*將分塊b左移位*/
MPI_Send(a,dl2,MPI_FLOAT,get_index(my_row,my_col-1, sp),1, MPI_COMM_WORLD);
MPI_Recv(a,dl2,MPI_FLOAT,get_index(my_row, my_col+1,sp),1, MPI_COMM_WORLD,&status); /*將分塊b上移位*/
MPI_Send(b,dl2,MPI_FLOAT,get_index(my_row-1,my_col, sp),1, MPI_COMM_WORLD);
MPI_Recv(b,dl2,MPI_FLOAT,get_index(my_row+1, my_col,sp),1, MPI_COMM_WORLD,&status);
}2022/12/3023Cannon-bug原始(阻塞式)的main_shift模塊Cannon-bug改進(jìn)(非阻塞式)的main_shift模塊
…
c[i*dl+j]+=a[i*dl+k]*b[j*dl+k]; //改進(jìn)了的Cannon按行存取
/*將分塊a左移位*/
MPI_Isend(a,dl2,MPI_FLOAT,get_index(my_row,my_col-1,sp),1,MPI_COMM_WORLD,&myrequest_s);
MPI_Irecv(buf,dl2,MPI_FLOAT,get_index(my_row,my_col+1,sp),1,MPI_COMM_WORLD,&myrequest_r);
MPI_Wait(&myrequest_s,&status);
MPI_Wait(&myrequest_r,&status);
memcpy(a,buf,sizeof(float)*dl2); /*將分塊b上移位*/
MPI_Isend(b,dl2,MPI_FLOAT,get_index(my_row-1,my_col,sp),1,MPI_COMM_WORLD,&myrequest_s);
MPI_Irecv(buf,dl2,MPI_FLOAT,get_index(my_row+1,my_col,sp),1,MPI_COMM_WORLD,&myrequest_r);
MPI_Wait(&myrequest_s,&status);
MPI_Wait(&myrequest_r,&status);
memcpy(b,buf,sizeof(float)*dl2);2022/12/3024Cannon-bug改進(jìn)(非阻塞式)的main_shift模Cannon-bugMPI_Irecv僅僅初始化接受操作,在與之對(duì)應(yīng)的MPI_Wait函數(shù)的調(diào)用返回之前,將不能訪問(wèn)bufferMPI_Irecv函數(shù)返回時(shí),handle指向一個(gè)MPI_Request對(duì)象,它代表了一個(gè)已近初始化了的通信操作。這個(gè)函數(shù)并不返回一個(gè)指向MPI_Status對(duì)象的指針,因?yàn)閷?shí)際的接受操作并未完成。MPI_Wait會(huì)一直阻塞,直至參數(shù)handle所關(guān)聯(lián)的操作完成,對(duì)發(fā)送來(lái)說(shuō),此時(shí)就可以向緩沖區(qū)寫入新的值。而對(duì)接收來(lái) 說(shuō),便可以從緩沖區(qū)讀取消息,而status所指向的MPI_Status對(duì)象包含了所接收消息的信息。新增加buf的目的就是防止在a還未發(fā)送出去的時(shí)候就recv內(nèi)容至a中導(dǎo)致信息的錯(cuò)誤,只有在MPI_Wait返回以后,再調(diào)用mencpy將buf的內(nèi)容寫回a中,完成更新。2022/12/3025Cannon-bugMPI_Irecv僅僅初始化接受操作,在Cannon乘法mpi代碼主要模塊intget_index(introw,intcol,intsp)//處理器邏輯陣列坐標(biāo)至rank號(hào)的轉(zhuǎn)換
voidrandom_A_B()//隨機(jī)生成矩陣A/Bvoidscatter_A_B() //rank=0的處理器向外分發(fā)A,B的相關(guān)塊voidinit_alignment()//矩陣A/B初始對(duì)齊
Voidmain_shift()//分塊矩陣左移和上移,并計(jì)算分塊c這個(gè)模塊就是我改造該算法的重點(diǎn)部位
voidcollect_c() //rank=0的處理器從其余處理器收集分塊矩陣c
voidprint(float**m,char*str)//打印矩陣
intmain(intargc,chat*argv[])//主過(guò)程,cannon算法,矩陣相乘2022/12/3026Cannon乘法mpi代碼主要模塊intget_indexTheend感謝觀看Theend感謝觀看27高性能矩陣乘法精品七、管理數(shù)據(jù)清單數(shù)據(jù)清單是指包含相關(guān)數(shù)據(jù)的一系列工作表,例如,發(fā)票數(shù)據(jù)庫(kù)或一組客戶名稱和電話號(hào)碼,清單的第一行具有列標(biāo)志。EXCEL提供了一系列的管理和分析數(shù)據(jù)清單功能,可以方便的管理這些數(shù)據(jù)清單。數(shù)據(jù)清單就如數(shù)據(jù)庫(kù),所謂數(shù)據(jù)庫(kù)的管理,就是新增、編輯、刪除、查找記錄等。使用數(shù)據(jù)清單可以更方便的管理和分析數(shù)據(jù)清單中的數(shù)據(jù)。1、建立數(shù)據(jù)清單數(shù)據(jù)清單的來(lái)源有兩種:一種是直接在工作表中輸入數(shù)據(jù)清單;另一種是導(dǎo)入外部數(shù)據(jù),導(dǎo)入的數(shù)據(jù)可以是記事本,WORD等。具體操作點(diǎn)擊數(shù)據(jù)菜單下的記錄單進(jìn)行相應(yīng)的操作。2、數(shù)據(jù)清單的排序數(shù)據(jù)排序需要設(shè)置以下兩個(gè)方面:排序關(guān)鍵字:指定要根據(jù)哪一個(gè)字段的值來(lái)排序。排序順序:指定的是按照值的升序排列(A到Z,或0到9)或降序排列(Z到A,或9到0)(1)點(diǎn)擊數(shù)據(jù)菜單下的排序進(jìn)行排序。(2)單擊格式工具中的降序或者升序排序即可。3、篩選數(shù)據(jù)與排序不同,篩選并不重排清單。篩選只是暫時(shí)隱藏不必顯示的行,而且一次只能對(duì)工作表中的一個(gè)數(shù)據(jù)清單使用篩選命令。篩選是查找和處理數(shù)據(jù)清單中數(shù)據(jù)子集的快捷方法。(1)使用自動(dòng)篩選,包含按選定內(nèi)容篩選,適用于簡(jiǎn)單條件。(2)使用高級(jí)篩選,適用與復(fù)雜條件。4、分類匯總數(shù)據(jù)分類匯總涉及到三個(gè)部分:分組、使用函數(shù)以及計(jì)算分類匯總的字段。(1)創(chuàng)建分類匯總(2)創(chuàng)建分級(jí)顯示八、圖表的使用EXCEL中的圖表按照插入的位置分類:內(nèi)嵌圖表和工作表圖表。內(nèi)嵌圖表一般與其數(shù)據(jù)源在一起,在一個(gè)工作表中;工作圖表就是與數(shù)據(jù)源分離,占據(jù)整個(gè)工作表的圖表。按照表示數(shù)據(jù)的圖形來(lái)分,圖表分為柱形圖,餅形圖,曲形圖等多種類型同一數(shù)據(jù)源可以使用不同圖表類型創(chuàng)建的圖表,他們看起來(lái)差異很大,但是表示的數(shù)據(jù)是相同的。高性能矩陣乘法高性能矩陣乘法精品七、管理數(shù)據(jù)清單數(shù)據(jù)清單是指包含相關(guān)數(shù)據(jù)的一系列工作表,例如,發(fā)票數(shù)據(jù)庫(kù)或一組客戶名稱和電話號(hào)碼,清單的第一行具有列標(biāo)志。EXCEL提供了一系列的管理和分析數(shù)據(jù)清單功能,可以方便的管理這些數(shù)據(jù)清單。數(shù)據(jù)清單就如數(shù)據(jù)庫(kù),所謂數(shù)據(jù)庫(kù)的管理,就是新增、編輯、刪除、查找記錄等。使用數(shù)據(jù)清單可以更方便的管理和分析數(shù)據(jù)清單中的數(shù)據(jù)。1、建立數(shù)據(jù)清單數(shù)據(jù)清單的來(lái)源有兩種:一種是直接在工作表中輸入數(shù)據(jù)清單;另一種是導(dǎo)入外部數(shù)據(jù),導(dǎo)入的數(shù)據(jù)可以是記事本,WORD等。具體操作點(diǎn)擊數(shù)據(jù)菜單下的記錄單進(jìn)行相應(yīng)的操作。2、數(shù)據(jù)清單的排序數(shù)據(jù)排序需要設(shè)置以下兩個(gè)方面:排序關(guān)鍵字:指定要根據(jù)哪一個(gè)字段的值來(lái)排序。排序順序:指定的是按照值的升序排列(A到Z,或0到9)或降序排列(Z到A,或9到0)(1)點(diǎn)擊數(shù)據(jù)菜單下的排序進(jìn)行排序。(2)單擊格式工具中的降序或者升序排序即可。3、篩選數(shù)據(jù)與排序不同,篩選并不重排清單。篩選只是暫時(shí)隱藏不必顯示的行,而且一次只能對(duì)工作表中的一個(gè)數(shù)據(jù)清單使用篩選命令。篩選是查找和處理數(shù)據(jù)清單中數(shù)據(jù)子集的快捷方法。(1)使用自動(dòng)篩選,包含按選定內(nèi)容篩選,適用于簡(jiǎn)單條件。(2)使用高級(jí)篩選,適用與復(fù)雜條件。4、分類匯總數(shù)據(jù)分類匯總涉及到三個(gè)部分:分組、使用函數(shù)以及計(jì)算分類匯總的字段。(1)創(chuàng)建分類匯總(2)創(chuàng)建分級(jí)顯示八、圖表的使用EXCEL中的圖表按照插入的位置分類:內(nèi)嵌圖表和工作表圖表。內(nèi)嵌圖表一般與其數(shù)據(jù)源在一起,在一個(gè)工作表中;工作圖表就是與數(shù)據(jù)源分離,占據(jù)整個(gè)工作表的圖表。按照表示數(shù)據(jù)的圖形來(lái)分,圖表分為柱形圖,餅形圖,曲形圖等多種類型同一數(shù)據(jù)源可以使用不同圖表類型創(chuàng)建的圖表,他們看起來(lái)差異很大,但是表示的數(shù)據(jù)是相同的。高性能矩陣乘法精品七、管理數(shù)據(jù)清單高性能矩陣乘法高性能矩陣乘28并行算法優(yōu)化研究相對(duì)于傳統(tǒng)面向?qū)ο蟠兴惴ǖ?個(gè)挑戰(zhàn):同步:兩個(gè)或者多個(gè)線程協(xié)調(diào)其行為的過(guò)程通信:與線程之間交換數(shù)據(jù)相關(guān)的帶寬和延遲問(wèn)題負(fù)載均衡:多個(gè)線程之間工作量分布的情況,給各個(gè)線程(執(zhí)行核)分配均勻的工作可擴(kuò)展性:衡量在性能更加強(qiáng)勁的系統(tǒng)上運(yùn)行軟件時(shí)能否有效利用更多線程的指標(biāo), 觀察應(yīng)用程序在更高級(jí)的平臺(tái)上運(yùn)行 4核到8核線性增長(zhǎng)2022/12/3029并行算法優(yōu)化研究相對(duì)于傳統(tǒng)面向?qū)ο蟠兴惴ǖ?個(gè)挑戰(zhàn):202多線程(核)設(shè)計(jì)主要分解模式任務(wù)分解: 對(duì)程序根據(jù)其執(zhí)行的功能進(jìn)行分解的過(guò)程數(shù)據(jù)分解: 將應(yīng)用程序根據(jù)各任務(wù)所處理的數(shù)據(jù)而非按任務(wù)的天然特性來(lái)進(jìn)行分解數(shù)據(jù)流分解: 研究數(shù)據(jù)在諸任務(wù)之間如何流動(dòng),根據(jù)任務(wù)之間的數(shù)據(jù)流關(guān)系對(duì)問(wèn)題 進(jìn)行分解模式分解方式任務(wù)級(jí)并行模式任務(wù)分解DivideandConquer任務(wù)/數(shù)據(jù)分解幾何分解模式數(shù)據(jù)分解流水線模式數(shù)據(jù)流分解波峰(wavefront)模式數(shù)據(jù)流分解2022/12/3030多線程(核)設(shè)計(jì)主要分解模式模式分解方式任務(wù)級(jí)并行模式任務(wù)分多線程(核)設(shè)計(jì)主要分解模式任務(wù)分解: 對(duì)程序根據(jù)其執(zhí)行的功能進(jìn)行分解的過(guò)程數(shù)據(jù)分解: 將應(yīng)用程序根據(jù)各任務(wù)所處理的數(shù)據(jù)而非按任務(wù)的天然特性來(lái)進(jìn)行分解數(shù)據(jù)流分解: 研究數(shù)據(jù)在諸任務(wù)之間如何流動(dòng),根據(jù)任務(wù)之間的數(shù)據(jù)流關(guān)系對(duì)問(wèn)題 進(jìn)行分解
分解方式設(shè)計(jì)說(shuō)明任務(wù)分解不同的程序行為采用不同的線程實(shí)現(xiàn)常用于GUI應(yīng)用程序數(shù)據(jù)分解多個(gè)線程對(duì)不同的數(shù)據(jù)塊執(zhí)行相同的操作常用于音頻、圖像處理和科學(xué)計(jì)算應(yīng)用程序數(shù)據(jù)流分解一個(gè)線程的輸出作為另一個(gè)線程的輸入尤其應(yīng)注意盡量消除啟動(dòng)和排空延遲2022/12/3031多線程(核)設(shè)計(jì)主要分解模式分解方式設(shè)計(jì)說(shuō)明任務(wù)分解不同的程矩陣乘法算法探討
在工程科學(xué)計(jì)算中,矩陣乘積是最基本的運(yùn)算 典型的n階稠密方陣乘積算法的時(shí)間復(fù)雜度是O(n3)。 目前對(duì)大型矩陣乘積運(yùn)算的處理主要是采用分治思想,將矩陣分布在多個(gè)節(jié)點(diǎn)上,但每個(gè)結(jié)點(diǎn)上的小矩陣仍要立方級(jí)乘法次數(shù)。 基于分之思想的兩種劃分策略:條形劃分和塊狀(棋盤)劃分的6種常見分布式矩陣乘法并行算法。
2022/12/3032矩陣乘法算法探討 在工程科學(xué)計(jì)算中,矩陣乘積是最基本的運(yùn)算2基于不同劃分策略的矩陣乘法算法探討
1、條形(stripedpartitioning)劃分的矩陣乘法并行算法
行條劃分 列條劃分兩兩組合:行列、行行、列列、列行2022/12/3033基于不同劃分策略的矩陣乘法算法探討 1、條形(striped基于不同劃分策略的矩陣乘法算法探討
2、塊狀劃分(checkerboardpartitioning)的矩陣乘法并行算法
稱為棋盤劃分2022/12/3034基于不同劃分策略的矩陣乘法算法探討 2、塊狀劃分(checkCannon
DescriptionforimplementationofMPIprogramtocomputeMatrixMatrixMultiplicationusingblockcheckerboardpartitioning
andCannonAlgorithm
2022/12/3035Cannon2022/12/298Cannon
Objective
Computingthematrix-matrixmultiplicationonSMPSystem.UseblockcheckerboardpartitioningofthematricesandCannon'sAlgorithm.
AssumptionSizeofthesquarematricesp=q2andthesizeofsquarematricesAandBisevenlydivisiblebyq.
Itisassumedthatthenumberofblocksareequaltothenumberofprocessors.2022/12/3036CannonObjective
2022/Cannon
Cannon'salgorithmisbasedoncartesianvirtualtopologyAandBaresquarematricesofsizenandCbetheoutput
matrix.Thesematricesaredivedintoblocksorsubmatricestoperformmatrix-matrixoperationsinparallelnxnmatrixAcanberegardedasqxqarrayofblocksAi,j(0<=i<q,0<=j<q)suchthateachblockisan(n/q)x(n/q)submatrixWeusep
processorstoimplementtheblockversionofmatrixmultiplicationinparallelbychoosingqasasquarerootof
p
andcomputeadistinctblockCi,joneachprocessor.2022/12/3037CannonCannon'salgorit傳統(tǒng)并行
2022/12/3038傳統(tǒng)并行2022/12/2911傳統(tǒng)并行
ThematricesAandBare
partitionedintop
blocks,A
i,j
andBi,j
(0<=i<q,0<=j<q)ofsize
(n/qxn/q)
oneachprocess.Theseblocksaremappedontoaqxq
logicalmeshofprocesses.TheprocessesarelabeledfromP0,0toPq-1,q-1.2022/12/3039傳統(tǒng)并行ThematricesAandBare傳統(tǒng)并行
ProcessPi,jinitiallystoreblockmatricesAi,jandBi,jandcomputesblockCi,jofresultmatrix.TocomputesubmatrixCi,j,weneedallsubmatrices,Ai,kand
Bk,j(0
<=k<q).Toacquirealltherequiredblocks,anall-to-allbroadcastofmatrixAi,j's
isperformedineachrowandsimilarlyineachcolumnofmatrixBi,j's.MPIcollectivecommunicationisusedtoperformthisoperations.2022/12/3040傳統(tǒng)并行ProcessPi,jinitiallys傳統(tǒng)并行
AfterPi,jacquires,Ai,0,Ai,1,Ai,2
,Ai,q-1andB0,j
,B1,j
,B2,j
,Bq-1,j
,itperformstheserialblockmatrixtomatrixmultiplicationandaccumulatesthepartialblock
matrixCi,jofmatrixC.ToobtaintheresultantproductmatrixC,processeswithrank0gathersalltheblockmatricesbyusingMPI_Gather
collectivecommunicationoperation.2022/12/3041傳統(tǒng)并行AfterPi,jacquirCannon
pprocessorsarrangedinqxqsquaregridofprocessorsandtheinputmatrices.AandBaredistributedamongtheprocessesincheckerboardfashion.ItresultsinconstructingpblockmatricesofAandB.Itusesonlypoint-to-pointcommunication
forcircularlyshiftingblocksofmatrixAandmatrixBamongpprocesses.
2022/12/3042CannonpprocessorsarrCannon-inital
Thealgorithmproceedsinq
stages.ThefirststepinthisalgorithmistoperforminitialalignmentoftheblockmatrixAandblockmatrixB.TheblocksofmatrixAarecircularlyshiftedtothe
i
positionstoleftintherowofthesquaregridofprocesses,wherei
istherow
numberoftheprocessinthemesh.TheblocksofmatrixBarecircularlyshiftedj
positionsupwards,wherejisthecolumn
numberoftheprocessintheprocessesmesh.2022/12/3043Cannon-initalThealgorCannon-inital2022/12/3044Cannon-inital2022/12/2917Cannon-runningThealgorithmperformsthefollowingstepsineachstage:
1.MultiplytheblockofmatrixAandmatrixBandaddtheresultantmatrixtogettheblockmatrixC,whichisinitiallysettozero.
2.CircularlyshifttheblocksofmatrixAtoleftintherowsoftheprocessesandtheblocksofmatrixBupwardsinthecolumnsofthesquaregridofprocessesinawraparoundmanner.
2022/12/3045Cannon-runningThealgorithmpeCannon-running2022/12/3046Cannon-running2022/12/2919Cannon-running2022/12/3047Cannon-running2022/12/2920書中Cannon-bug
MPI_SendandMPI_Recvisnotusedforpoint-to-pointcommunicationbecauseifalltheprocessescallMPI_SendorMPI_Recv
indifferentorderthedeadlockedsituationmayarise.
Howtofix?指派一個(gè)緩沖區(qū),使用MPI_Irecv/MPI_Isend非阻塞式通訊函數(shù),MPI_wait.MPI_Sendrecv.
2022/12/3048書中Cannon-bug
MPI_SendandMPI_Cannon-bug
死鎖的問(wèn)題 問(wèn)題來(lái)源于main_shift()這個(gè)函數(shù)中MPI函數(shù)的使用。在Cannon-mpi代碼的main_shift()模塊中,文獻(xiàn)中算法使用的是MPI的阻塞通信函數(shù):MPI_Send/MPI_Recv,這就使得Cannon算法在執(zhí)行循環(huán)左移和循環(huán)上移時(shí),矩陣規(guī)模超過(guò)共享buff的容量時(shí)出現(xiàn)循環(huán)等待的死鎖狀況。 在曙光4000集群系統(tǒng)上,該算法的發(fā)生死鎖的矩陣下限規(guī)模是200×200的浮點(diǎn)型矩陣。2022/12/3049Cannon-bug 死鎖的問(wèn)題2022/12/2922Cannon-bug原始(阻塞式)的main_shift模塊:
voidmain_shift() { … /*將分塊b左移位*/
MPI_Send(a,dl2,MPI_FLOAT,get_index(my_row,my_col-1, sp),1, MPI_COMM_WORLD);
MPI_Recv(a,dl2,MPI_FLOAT,get_index(my_row, my_col+1,sp),1, MPI_COMM_WORLD,&status); /*將分塊b上移位*/
MPI_Send(b,dl2,MPI_FLOAT,get_index(my_row-1,my_col, sp),1, MPI_COMM_WORLD);
MPI_Recv(b,dl2,MPI_FLOAT,get_index(my_row+1, my_col,sp),1, MPI_
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 眩暈病的中醫(yī)護(hù)理要點(diǎn)
- 物流管理培訓(xùn):倉(cāng)儲(chǔ)管理
- 地面停車場(chǎng)雨棚施工方案
- 信息技術(shù)工程師職稱評(píng)定工作總結(jié)
- 2024年百貨用品店鋪轉(zhuǎn)讓協(xié)議書模板
- 白鋼管道承包協(xié)議書范本范本
- 直播賣化妝品合作協(xié)議書范文
- 小鵬售后服務(wù)協(xié)議書范文
- 人教版英語(yǔ)八年級(jí)下冊(cè) Unit 5 基礎(chǔ)過(guò)關(guān)卷
- 危險(xiǎn)品儲(chǔ)存安全管理制度
- 新時(shí)代女大學(xué)生修養(yǎng)智慧樹知到課后章節(jié)答案2023年下棗莊學(xué)院
- 項(xiàng)目復(fù)盤工作報(bào)告PPT模板
- 患者安全目標(biāo)與核心護(hù)理制度課件
- 句子成分及句子基本結(jié)構(gòu)(共32張PPT)
- 醫(yī)療安全管理與醫(yī)療風(fēng)險(xiǎn)防范培訓(xùn)課件
- 四年級(jí)下冊(cè)英語(yǔ)說(shuō)課稿-Lesson 22 My Favourite Subject-冀教版
- 企業(yè)國(guó)有資產(chǎn)法解讀課件講義
- 自己設(shè)計(jì)的花鍵跨棒距的計(jì)算-2
- 年金險(xiǎn)專項(xiàng)早會(huì)理念篇之養(yǎng)老專業(yè)知識(shí)專家講座
- 凍干制劑工藝研究
- 2023年湖北省武漢市江漢區(qū)八年級(jí)上學(xué)期物理期中考試試卷附答案
評(píng)論
0/150
提交評(píng)論