天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當前位置:主頁 > 科技論文 > 計算機論文 >

CUDA程序并發(fā)錯誤的自動檢測

發(fā)布時間:2020-12-30 15:29
  在當前的工業(yè)界,GPU程序的開發(fā)和維護已經(jīng)成為了重要的新平臺。機器學習的任務在GPU平臺上能夠獲得更加優(yōu)秀的效果。CUDA(Computer Unified Device Architecture)是n Vidia開發(fā)的一個GPU計算平臺。雖然CUDA已成為通用GPU計算的主要并行計算平臺和編程模型,但CUDA引發(fā)的錯誤模式尚未有成熟的自動化解決方案。在此篇論文中,我們將提出一個輕量級的CUDA并發(fā)錯誤檢測工具Simulee,通過自動生成觸發(fā)內(nèi)存訪問的輸入,追蹤并分析實際被執(zhí)行的CUDA程序語句序列,并基于該序列,收集不同線程的內(nèi)存訪問信息并做出是否存在并發(fā)錯誤的判斷。為了從效能和效率兩個維度評價Simulee的性能,本文還從Github上選擇了7個流行的CUDA相關(guān)項目,來作為測試的對象。實驗結(jié)果證明,Simulee可以從24個手動分析的并發(fā)bug中成功檢測21個出來,同時還檢測出了24個尚未發(fā)現(xiàn)的并發(fā)錯誤bug,其中的10個已經(jīng)被開發(fā)者確認。與此同時,Simulee在檢測中體現(xiàn)的性能都顯著強于已知的CUDA并發(fā)錯誤檢測的方案。 

【文章來源】:哈爾濱工業(yè)大學黑龍江省 211工程院校 985工程院校

【文章頁數(shù)】:56 頁

【學位級別】:碩士

【部分圖文】:

CUDA程序并發(fā)錯誤的自動檢測


CUDA核函數(shù)并行計算機

CUDA程序并發(fā)錯誤的自動檢測


中看出,“if”圖1-2寫寫沖突

屏障,冗余,函數(shù),線程


哈爾濱工業(yè)大學工程碩士學位論文-4-能。圖1-3展示了一個來自Github項目arrayfire中的修復補?梢杂^察到,在這個程序里,Block被定義為一維,因此,“tid”的值僅由“threadIdx.x”指定,又因為Block為一維,所以這表示“tid”在同一個塊的不同線程之間是相同的。因此,只能通過一個線程訪問“s_median[tid]”和“s_idx[tid]”,從而導致第4行中出現(xiàn)冗余的屏障函數(shù),因為刪除該屏障函數(shù)后,“s_median”或“s_idx”中沒有數(shù)據(jù)競爭,也就不會發(fā)生任何并發(fā)錯誤。當同一個Block內(nèi)的線程,一個屏障函數(shù)對于一部分線程可達而對于另一部分線程不可達,或者一部分線程已經(jīng)結(jié)束而另一部分線程有執(zhí)行道這個屏障函數(shù),則稱之為屏障分化。圖1-4展示了一個同樣來自Github的CUDA項目arrayfire,修復一個屏障分化的代碼。從圖1-4中可以看出,開發(fā)人員通過將“__syncthreads()”語句移到給定分支之外,確保同一Block中的所有線程在內(nèi)核函數(shù)的每個執(zhí)行過程中都達到相同的屏障函數(shù)。否則,將會出現(xiàn)未定義行為。圖1-3冗余的屏障函數(shù)圖1-4屏障分化

【參考文獻】:
期刊論文
[1]多核多線程技術(shù)綜述[J]. 眭俊華,劉慧娜,王建鑫,秦慶旺.  計算機應用. 2013(S1)
[2]CPU/GPU協(xié)同并行計算研究綜述[J]. 盧風順,宋君強,銀?,張理論.  計算機科學. 2011(03)
[3]多線程技術(shù)及其應用的研究[J]. 伍光勝,宋信忠,鄭明輝.  計算機應用研究. 2001(01)



本文編號:2947877

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2947877.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶4ae6d***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com