歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

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

  • 資源ID:247834924       資源大?。?span id="13f0rom" class="font-tahoma">779KB        全文頁(yè)數(shù):10頁(yè)
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

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

單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,實(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簡(jiǎn)介:,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);,/初始化線程對(duì)象的屬性。,程序分析:,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ù)編譯語(yǔ)句 0屏蔽某段語(yǔ)句 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都是指針,指向他們所對(duì)應(yīng)的那塊實(shí)際的物理地址。,2.通過(guò)賦值,channel上的奇數(shù)塊共享給了fetch和idct二維數(shù)組參數(shù)里的0號(hào)位(圖中的紅色塊),channel上的偶數(shù)塊共享給了dispatch和idct二維數(shù)組參數(shù)里的1號(hào)位(同種的藍(lán)色塊)。,3.整個(gè)并行的過(guò)程是這樣的:主線程創(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ù)無(wú)關(guān),而是分配fetch程序運(yùn)行得到的結(jié)果。分多少塊,每塊多大是由數(shù)據(jù)大小和線程數(shù)來(lái)決定的。放在channel上的數(shù)據(jù)全部是與程序間的通信有關(guān)的,只有fetch的結(jié)果和idct的結(jié)果,原始數(shù)據(jù)進(jìn)入fetch串行運(yùn)行,與其他程序無(wú)關(guān)。在程序操作channel之前,channel是格式化了的。,性能分析:,多MIPS與運(yùn)行時(shí)間的關(guān)系(MIPS數(shù)等于線程數(shù)),性能分析:,同數(shù)量MIPS下,線程數(shù)與運(yùn)行時(shí)間的關(guān)系,性能分析說(shuō)明:,1.,從第一張圖表中線程數(shù)與核數(shù)相同,可以很明顯看出,并行計(jì)算對(duì)于計(jì)算性能有很好的提升作用。核數(shù)達(dá)到三個(gè)以后,并行的效果達(dá)到了極限。線程數(shù)與核數(shù)相同保證了最好的并行效果,防止了線程數(shù)過(guò)多造成的偽并行。,2.單純從并行計(jì)算的角度來(lái)看,第二張圖更能體現(xiàn)并行計(jì)算的效果。在相同的核數(shù)條件下,開不同的線程數(shù)對(duì)計(jì)算性能的提升作用。圖中沒(méi)有展示各核數(shù)下1個(gè)線程的計(jì)算時(shí)間,串行進(jìn)行基本上需要2個(gè)線程并行計(jì)算大約兩倍的時(shí)間。,3.為了與我們之前的測(cè)試數(shù)據(jù)保存一致,我們沒(méi)有對(duì)timer進(jìn)行修改。圖中的數(shù)據(jù)除以200就可以得到與其他組相當(dāng)?shù)臏y(cè)試數(shù)據(jù)。,Thanks,!,

注意事項(xiàng)

本文(實(shí)驗(yàn)中涉及到的并行計(jì)算)為本站會(huì)員(go****ng)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!