System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現(xiàn)步驟摘要】
本申請涉及計算,尤其涉及一種simt架構加速卡調(diào)試方法、設備及介質(zhì)。
技術介紹
1、在計算
,特別是針對采用simt(單指令多線程)架構的加速卡進行調(diào)試時,目前面臨著一系列技術挑戰(zhàn)。傳統(tǒng)的代碼調(diào)試技術,如gdb+openocd+jtag的組合工具鏈,雖然在一定程度上能夠滿足順序執(zhí)行代碼的調(diào)試需求,但對于并行執(zhí)行的代碼,尤其是simt架構加速卡上多個線程并行運行的代碼,其調(diào)試效果并不理想。
2、simt架構加速卡內(nèi)部包含大量的線程,這些線程可以同時執(zhí)行相同的指令,但處理不同的數(shù)據(jù)。這種并行執(zhí)行模式大大提高了計算效率,但在調(diào)試過程中卻帶來了新的問題。由于多個線程可能同時在相同的線程分支進行調(diào)試信息輸出,這就很容易導致地址沖突,使得調(diào)試信息無法正確保存和顯示。
3、為了解決上述問題,傳統(tǒng)simt架構加速卡的調(diào)試方法是為每個線程掛載一個uart接口,將調(diào)試信息通過uart接口傳出。然而,這種做法在實際應用中存在著諸多不便。首先,當線程數(shù)量較多時,需要掛載大量的uart接口,并通過線纜連接至pc端進行接收和顯示,這不僅增加了硬件成本,而且調(diào)試環(huán)境的搭建也較為復雜和耗時。其次,由于每個線程都是通過獨立的uart接口進行調(diào)試信息輸出,因此很難直觀地看到各個線程之間的執(zhí)行順序和相互關系,這對于發(fā)現(xiàn)和解決并行代碼中的問題帶來了很大的困難。
技術實現(xiàn)思路
1、本申請實施例提供了一種simt架構加速卡調(diào)試方法、設備及介質(zhì),用以解決如下的技術問題:現(xiàn)有的simt架構加速卡調(diào)試
2、第一方面,本申請實施例提供了一種simt架構加速卡調(diào)試方法,應用于simt架構加速卡調(diào)試系統(tǒng),simt架構加速卡調(diào)試系統(tǒng)包括主機和simt架構加速卡,主機包括cpu和ddr,simt架構加速卡包括gpu和gddr,方法包括:在需要對目標調(diào)試線程進行調(diào)試時,讀取預設寄存器以獲取目標調(diào)試線程的區(qū)域存儲地址計算信息,并基于區(qū)域存儲地址計算信息,計算待輸出調(diào)試信息在gddr中的待存儲區(qū)域地址;?在加速卡核函數(shù)執(zhí)行完成之后,將gddr中的調(diào)試信息拷貝到主機的ddr中,并通過主機的控制臺展示調(diào)試信息。
3、在本申請的一種實現(xiàn)方式中,方法還包括:基于simt架構加速卡的硬件屬性信息,確定simt架構加速卡的線程數(shù)量,并確定gddr中用于存儲各線程輸出的調(diào)試信息的加速卡內(nèi)存起始地址;以及,確定ddr中用于存儲調(diào)試信息的主機內(nèi)存起始地址。
4、在本申請的一種實現(xiàn)方式中,方法還包括:定義simt架構加速卡中線程單次輸出調(diào)試信息的字節(jié)數(shù)上限;定義simt架構加速卡中線程進行調(diào)試時輸出調(diào)試信息次數(shù)的計數(shù)上限。
5、在本申請的一種實現(xiàn)方式中,方法還包括:配置預設寄存器,以使預設寄存器在加速卡調(diào)試時可被讀取;其中,預設寄存器包括:線程號寄存器、時鐘計數(shù)寄存器、指令計數(shù)寄存器;初始化預設寄存器,以使預設寄存器中緩存初始值。
6、在本申請的一種實現(xiàn)方式中,區(qū)域地址存儲計算信息包括:目標調(diào)試線程的線程號、目標調(diào)試線程的調(diào)試信息次數(shù)計數(shù);基于區(qū)域存儲地址計算信息,計算待輸出調(diào)試信息在gddr中的待存儲區(qū)域地址,具體包括:將區(qū)域存儲地址計算信息輸入預設的區(qū)域地址計算模型,以確定待輸出調(diào)試信息在gddr中的待存儲區(qū)域地址;其中,區(qū)域地址計算模型,由以下公式表示:
7、
8、其中,為待存區(qū)域地址,為加速卡內(nèi)存起始地址,為線程單次輸出調(diào)試信息的字節(jié)數(shù)上限,為線程數(shù)量,為目標調(diào)試線程的調(diào)試信息次數(shù)計數(shù),為目標調(diào)試線程的線程號。
9、在本申請的一種實現(xiàn)方式中,將gddr中的調(diào)試信息拷貝到主機的ddr中,具體包括:基于預設的內(nèi)存區(qū)域計算模型,確定gddr中的待拷貝內(nèi)存區(qū)域,并將待拷貝內(nèi)存區(qū)域中的存儲數(shù)據(jù)拷貝到主機的ddr中;其中,內(nèi)存區(qū)域計算模型,由以下公式表示:
10、
11、其中,為待拷貝內(nèi)存區(qū)域,為線程單次輸出調(diào)試信息的字節(jié)數(shù)上限,為線程數(shù)量,為輸出調(diào)試信息次數(shù)的計數(shù)上限。
12、在本申請的一種實現(xiàn)方式中,通過主機的控制臺展示調(diào)試信息,具體包括:基于主機的標準輸入輸出庫函數(shù),將拷貝到ddr中的調(diào)試信息進行格式化處理;通過調(diào)用std標準庫中的iostream功能,將格式化后的調(diào)試信息輸出到主機的控制臺界面。
13、在本申請的一種實現(xiàn)方式中,還包括:在通過主機的控制臺展示調(diào)試信息時,生成多種可選擇的調(diào)試信息顯示順序類型;其中,調(diào)試信息顯示順序類型包括:按照線程號升序顯示、按照時鐘計數(shù)升序顯示以及按照指令計數(shù)升序顯示;在用戶選擇任一調(diào)試信息顯示順序類型的情況下,對拷貝到ddr中的調(diào)試信息進行排序后,再輸出到主機的控制臺界面。
14、第二方面,本申請實施例還提供了一種simt架構加速卡調(diào)試設備,設備包括:至少一個處理器;以及,與至少一個處理器通信連接的存儲器;其中,存儲器存儲有可被至少一個處理器執(zhí)行的指令,指令被至少一個處理器執(zhí)行,以使至少一個處理器能夠執(zhí)行如上述任一項的一種simt架構加速卡調(diào)試方法。
15、第三方面,本申請實施例還提供了一種simt架構加速卡調(diào)試的非易失性計算機存儲介質(zhì),存儲有計算機可執(zhí)行指令,計算機可執(zhí)行指令被執(zhí)行時,實現(xiàn)如上述任一項的一種simt架構加速卡調(diào)試方法。
16、本申請實施例提供的一種simt架構加速卡調(diào)試方法、設備及介質(zhì),具有以下有益效果:
17、1.通過讀取預設寄存器獲取目標調(diào)試線程的區(qū)域存儲地址計算信息,并基于這些信息精確計算gddr中待存儲調(diào)試信息的地址,避免了傳統(tǒng)調(diào)試方法中可能的信息散亂存儲問題,使得調(diào)試信息的存儲更加有序、高效,極大提升了信息檢索的速度和準確性。
18、2.加速卡核函數(shù)執(zhí)行完成后,將gddr中的調(diào)試信息自動拷貝到主機ddr的功能,并通過控制臺實時展示,不僅簡化了調(diào)試信息的獲取步驟,還實現(xiàn)了從加速卡到主機的無縫數(shù)據(jù)傳輸,提高了調(diào)試效率和用戶體驗。
19、3.本申請支持基于simt架構加速卡的硬件屬性信息,動態(tài)確定線程數(shù)量和內(nèi)存起始地址,同時定義了線程單次輸出調(diào)試信息的字節(jié)數(shù)上限和輸出次數(shù)計數(shù)上限,靈活的內(nèi)存管理機制確保了調(diào)試信息的有效存儲,避免了內(nèi)存資源的浪費或不足。
20、4.通過配置預設寄存器(如線程號寄存器、時鐘計數(shù)寄存器、指令計數(shù)寄存器)并初始化其值,能夠精確記錄調(diào)試信息的相關屬性,如線程號、時鐘計數(shù)、指令計數(shù)等,這些信息對于定位調(diào)試問題、追蹤程序執(zhí)行路徑至關重要,有助于提高調(diào)試的精確度和效率。
21、5.本申請不僅支持將調(diào)試信息輸出到控制臺,還提供了多種可選擇的調(diào)試信息顯示順序類型,如按線程號升序、時鐘計數(shù)升序、指令計數(shù)升序顯示,智能化的顯示方式有助于用戶更直觀地理解程序執(zhí)行過程,快速定位潛在問題。
本文檔來自技高網(wǎng)...【技術保護點】
1.一種SIMT架構加速卡調(diào)試方法,其特征在于,應用于SIMT架構加速卡調(diào)試系統(tǒng),所述SIMT架構加速卡調(diào)試系統(tǒng)包括主機和SIMT架構加速卡,所述主機包括CPU和DDR,所述SIMT架構加速卡包括GPU和GDDR,所述方法包括:
2.根據(jù)權利要求1所述的一種SIMT架構加速卡調(diào)試方法,其特征在于,所述方法還包括:
3.根據(jù)權利要求2所述的一種SIMT架構加速卡調(diào)試方法,其特征在于,所述方法還包括:
4.根據(jù)權利要求3所述的一種SIMT架構加速卡調(diào)試方法,其特征在于,所述方法還包括:
5.根據(jù)權利要求4所述的一種SIMT架構加速卡調(diào)試方法,其特征在于,所述區(qū)域地址存儲計算信息包括:目標調(diào)試線程的線程號、目標調(diào)試線程的調(diào)試信息次數(shù)計數(shù);
6.根據(jù)權利要求5所述的一種SIMT架構加速卡調(diào)試方法,其特征在于,將所述GDDR中的調(diào)試信息拷貝到所述主機的DDR中,具體包括:
7.根據(jù)權利要求1所述的一種SIMT架構加速卡調(diào)試方法,其特征在于,通過所述主機的控制臺展示所述調(diào)試信息,具體包括:
8.根據(jù)權利要求7
9.一種SIMT架構加速卡調(diào)試設備,其特征在于,所述設備包括:
10.一種SIMT架構加速卡調(diào)試的非易失性計算機存儲介質(zhì),存儲有計算機可執(zhí)行指令,其特征在于,所述計算機可執(zhí)行指令被執(zhí)行時,實現(xiàn)如權利要求1-8任一項所述的一種SIMT架構加速卡調(diào)試方法。
...【技術特征摘要】
1.一種simt架構加速卡調(diào)試方法,其特征在于,應用于simt架構加速卡調(diào)試系統(tǒng),所述simt架構加速卡調(diào)試系統(tǒng)包括主機和simt架構加速卡,所述主機包括cpu和ddr,所述simt架構加速卡包括gpu和gddr,所述方法包括:
2.根據(jù)權利要求1所述的一種simt架構加速卡調(diào)試方法,其特征在于,所述方法還包括:
3.根據(jù)權利要求2所述的一種simt架構加速卡調(diào)試方法,其特征在于,所述方法還包括:
4.根據(jù)權利要求3所述的一種simt架構加速卡調(diào)試方法,其特征在于,所述方法還包括:
5.根據(jù)權利要求4所述的一種simt架構加速卡調(diào)試方法,其特征在于,所述區(qū)域地址存儲計算信息包括:目標調(diào)試線程的線程號、目標調(diào)試線程的...
【專利技術屬性】
技術研發(fā)人員:趙國峰,趙鑫鑫,姜凱,薛海軍,
申請(專利權)人:山東浪潮科學研究院有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。