當(dāng)前位置首頁 > 計(jì)算機(jī) > 并行計(jì)算/云計(jì)算
搜柄,搜必應(yīng)! 快速導(dǎo)航 | 使用教程

實(shí)驗(yàn)中涉及到的并行計(jì)算

文檔格式:PPT| 10 頁|大小 779KB|積分 9.9|2024-10-21 發(fā)布|文檔ID:247834924
第1頁
第2頁
第3頁
下載文檔到電腦,查找使用更方便 還剩頁未讀,繼續(xù)閱讀>>
1 / 10
此文檔下載收益歸作者所有 下載文檔
  • 版權(quán)提示
  • 文本預(yù)覽
  • 常見問題
  • 單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,實(shí)驗(yàn)中涉及到的并行計(jì)算,李連盟 李佳駿,MJPEG解碼程序子任務(wù):,1.,FETCH:負(fù)責(zé)完成解碼流程中的霍夫曼解碼、反鋸齒掃描及反量化2.COMPUTE:最為費(fèi)時(shí)的計(jì)算任務(wù)反離散余弦變換(IDCT)3.DISPATCH:從不同的COMPUTE任務(wù)計(jì)算完畢的宏塊,進(jìn)行重新組織排列,最終生存圖像幀并傳送到幀緩存進(jìn)行并行化!,在headers/mjpeg.h中用NB_IDCT定義了線程數(shù),在source/main.c中用Posix pthread多線程編程進(jìn)行并行化Posix pthread簡介:,1.,數(shù)據(jù)類型,pthread_t:線程句柄,pthread_attr_t:線程屬性句柄,2.函數(shù),int pthread_create(pthread_t*restrict_tidp,const pthread_attr_t*restrict_attr,void*(*start_rtn)(void*),void*restrict arg);,/創(chuàng)建線程參數(shù):1.線程標(biāo)識(shí)符指針2.線程屬性3.運(yùn)行函數(shù)起始地址4.運(yùn)行函數(shù)參數(shù),int pthread_join(pthread_t thread,void*retval);,/以阻塞的方式等待thread指定的線程結(jié)束。

    參數(shù):1.線程標(biāo)識(shí)符2.返回值,int pthread_attr_init(pthread_attr_t*attr);,/初始化線程對象的屬性程序分析:,1.,標(biāo)識(shí)符定義,pthread_t fetchThread,dispatchThread,idctThreadNB_IDCT;,pthread_attr_t fetchAttr,dispatchAttr;,2.數(shù)據(jù)分配,Channel*channel2*NB_IDCT+1;,Channel*fetch_channel1+NB_IDCT;,Channel*dispatch_channel1+NB_IDCT;,Channel*idct_channelNB_IDCT2;,/Channel是實(shí)現(xiàn)通信的容器 可以連接兩個(gè)以上的模塊,fetch_channel0=channel0;,dispatch_channel0=channel0;,for(uint32_t i=0;i NB_IDCT;i+),fetch_channeli+1=channel2*i+1;,dispatch_channeli+1=channel2*i+2;,idct_channeli0=channel2*i+1;,idct_channeli1=channel2*i+2;,fetch_channeli+1=channel2*i+1;,dispatch_channeli+1=channel2*i+2;,idct_channeli0=channel2*i+1;,idct_channeli1=channel2*i+2;,3.多線程,pthread_create(,for(uint32_t i=0;i NB_IDCT;i+),pthread_create(,#if 0 /預(yù)編譯語句 0屏蔽某段語句 1恢復(fù),pthread_attr_init(,fetchAttr.procid=0;,pthread_attr_init(,dispatchAttr.procid=3;,#endif,pthread_create(,pthread_join(dispatchThread,NULL);,幾個(gè)要點(diǎn):,1.,Channel是實(shí)現(xiàn)通信的容器,可以連接兩個(gè)以上的模塊。

    在這個(gè)程序中,Channel用于放置幾個(gè)不同子程序間數(shù)據(jù)交互的空間,其中定義的channel、,fetch_channel、dispatch_channel、idct_channel都是指針,指向他們所對應(yīng)的那塊實(shí)際的物理地址2.通過賦值,channel上的奇數(shù)塊共享給了fetch和idct二維數(shù)組參數(shù)里的0號位(圖中的紅色塊),channel上的偶數(shù)塊共享給了dispatch和idct二維數(shù)組參數(shù)里的1號位(同種的藍(lán)色塊)3.整個(gè)并行的過程是這樣的:主線程創(chuàng)建一個(gè)子線程fetchThread運(yùn)行fetch處理程序,參數(shù)是fetch_channel,即把fetch的處理結(jié)果分塊后放到fetch_channel(紅)上;創(chuàng)建N個(gè)子線程idctThread,并行運(yùn)行idct計(jì)算程序,參數(shù)是,idct_channeli,即第i個(gè)子線程運(yùn)行idct程序,從dict_channeli0(紅)上取出fetch的某塊運(yùn)行結(jié)果,然后將自己處理后的結(jié)果放到dict_channeli1(藍(lán))上;創(chuàng)建子線程dispatchThread運(yùn)行dispatch程序,參數(shù)為dispatch_channel,即從disptch_channel(藍(lán))上取出idct的結(jié)果,重新組合后,等待diptch運(yùn)行結(jié)束后得出最后結(jié)果進(jìn)行輸出。

    4.程序中進(jìn)行的初始數(shù)據(jù)分配與原始數(shù)據(jù)無關(guān),而是分配fetch程序運(yùn)行得到的結(jié)果分多少塊,每塊多大是由數(shù)據(jù)大小和線程數(shù)來決定的放在channel上的數(shù)據(jù)全部是與程序間的通信有關(guān)的,只有fetch的結(jié)果和idct的結(jié)果,原始數(shù)據(jù)進(jìn)入fetch串行運(yùn)行,與其他程序無關(guān)在程序操作channel之前,channel是格式化了的性能分析:,多MIPS與運(yùn)行時(shí)間的關(guān)系(MIPS數(shù)等于線程數(shù)),性能分析:,同數(shù)量MIPS下,線程數(shù)與運(yùn)行時(shí)間的關(guān)系,性能分析說明:,1.,從第一張圖表中線程數(shù)與核數(shù)相同,可以很明顯看出,并行計(jì)算對于計(jì)算性能有很好的提升作用核數(shù)達(dá)到三個(gè)以后,并行的效果達(dá)到了極限線程數(shù)與核數(shù)相同保證了最好的并行效果,防止了線程數(shù)過多造成的偽并行2.單純從并行計(jì)算的角度來看,第二張圖更能體現(xiàn)并行計(jì)算的效果在相同的核數(shù)條件下,開不同的線程數(shù)對計(jì)算性能的提升作用圖中沒有展示各核數(shù)下1個(gè)線程的計(jì)算時(shí)間,串行進(jìn)行基本上需要2個(gè)線程并行計(jì)算大約兩倍的時(shí)間3.為了與我們之前的測試數(shù)據(jù)保存一致,我們沒有對timer進(jìn)行修改圖中的數(shù)據(jù)除以200就可以得到與其他組相當(dāng)?shù)臏y試數(shù)據(jù)Thanks,!,。

    點(diǎn)擊閱讀更多內(nèi)容
    最新文檔
    傳統(tǒng)文化道德不是高懸的明月而是腳下的星光.pptx
    世界無煙日關(guān)注青少年成長健康無煙為成長護(hù)航.pptx
    五四青年節(jié)詩詞贊歌五四青年自強(qiáng)不息.pptx
    XX學(xué)校班主任培訓(xùn)用心管理慧做班主任.pptx
    拒絕熬夜健康養(yǎng)生規(guī)律作息遠(yuǎn)離亞健康.pptx
    兒童成長手冊時(shí)光里的童真印記.pptx
    幼兒園夏季傳染病預(yù)防指南預(yù)見夏天健康童行夏季傳染病預(yù)防科普.pptx
    高中生心理健康教育主題班會(huì)快樂學(xué)習(xí)高效學(xué)習(xí)正視壓力學(xué)會(huì)減壓.pptx
    員工職業(yè)道德與職業(yè)素養(yǎng)培訓(xùn)遵守職業(yè)道德提高職業(yè)修養(yǎng).pptx
    2025職業(yè)病防治法宣傳周健康守護(hù)職防同行.pptx
    XX幼兒園防災(zāi)減災(zāi)安全教育臨災(zāi)不亂安全童行學(xué)會(huì)保護(hù)自己.pptx
    在2025年縣教育工作大會(huì)暨高考備考工作推進(jìn)會(huì)上的講話發(fā)言材料.docx
    在2025年縣全面從嚴(yán)治黨和黨風(fēng)廉政會(huì)議上的講話發(fā)言材料.docx
    在2025年全市慶?!拔逡弧濒邉趧?dòng)模范表彰大會(huì)上的講話發(fā)言材料多篇.docx
    2025年稅務(wù)局青年代表在五四青年座談會(huì)上的發(fā)言材料3篇.docx
    在2025年市委全體會(huì)議上的主持講話發(fā)言材料.docx
    2025年黨風(fēng)廉政建設(shè)工作要點(diǎn)材料.docx
    在2025年全市青年干部慶祝五四青年節(jié)大會(huì)上的講話發(fā)言材料多篇.docx
    在入黨積極分子培訓(xùn)班上的講話發(fā)言材料.docx
    縣文旅局黨組書記在五一假期及夏季旅游安全生產(chǎn)工作部署會(huì)議上的講話發(fā)言材料.docx
    賣家[上傳人]:gongxing
    資質(zhì):實(shí)名認(rèn)證