本公開涉及人工智能,尤其涉及代碼測(cè)試、異構(gòu)計(jì)算和芯片。更具體地,本公開提供了一種代碼測(cè)試方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著人工智能技術(shù)的發(fā)展,異構(gòu)計(jì)算的應(yīng)用在不斷增加。異構(gòu)計(jì)算可以利用不同類型的處理器共同執(zhí)行計(jì)算任務(wù),可以充分發(fā)揮不同處理器的特點(diǎn)。
技術(shù)實(shí)現(xiàn)思路
1、本公開提供了一種代碼測(cè)試方法、裝置、設(shè)備以及存儲(chǔ)介質(zhì)。
2、根據(jù)本公開的一方面,提供了一種代碼測(cè)試方法,該方法包括:響應(yīng)于確定待測(cè)代碼被人工智能處理器執(zhí)行完畢,讀取待測(cè)代碼的多個(gè)代碼分支各自的計(jì)數(shù)變量,得到多個(gè)代碼分支各自的第一執(zhí)行次數(shù),其中,人工智能處理器包括多個(gè)處理器核,計(jì)數(shù)變量的值是在代碼分支的插樁代碼被處理器核執(zhí)行的情況下更新的;根據(jù)多個(gè)代碼分支各自的第一執(zhí)行次數(shù),確定待測(cè)代碼的第一測(cè)試結(jié)果。
3、根據(jù)本公開的另一方面,提供了一種代碼測(cè)試裝置,該裝置包括:讀取模塊,用于響應(yīng)于確定待測(cè)代碼被人工智能處理器執(zhí)行完畢,讀取待測(cè)代碼的多個(gè)代碼分支各自的計(jì)數(shù)變量,得到多個(gè)代碼分支各自的第一執(zhí)行次數(shù),其中,人工智能處理器包括多個(gè)處理器核,計(jì)數(shù)變量的值是在代碼分支的插樁代碼被處理器核執(zhí)行的情況下更新的;第一確定模塊,用于根據(jù)多個(gè)代碼分支各自的第一執(zhí)行次數(shù),確定待測(cè)代碼的第一測(cè)試結(jié)果。
4、根據(jù)本公開的另一方面,提供了一種電子設(shè)備,包括:至少一個(gè)處理器;以及與至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,存儲(chǔ)器存儲(chǔ)有可被至少一個(gè)處理器執(zhí)行的指令,指令被至少一個(gè)處理器執(zhí)行,以使至少一個(gè)處理器能夠執(zhí)行根據(jù)本公開提供的方法。
5、根據(jù)本公開的另一方面,提供了一種存儲(chǔ)有計(jì)算機(jī)指令的非瞬時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行根據(jù)本公開提供的方法。
6、根據(jù)本公開的另一方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,計(jì)算機(jī)程序在被處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)本公開提供的方法。
7、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識(shí)本公開的實(shí)施例的關(guān)鍵或重要特征,也不用于限制本公開的范圍。本公開的其它特征將通過(guò)以下的說(shuō)明書而變得容易理解。
1.一種代碼測(cè)試方法,包括:
2.根據(jù)權(quán)利要求1所述的方法,其中,所述計(jì)數(shù)變量的值是通過(guò)以下操作在所述代碼分支的插樁代碼被所述處理器核執(zhí)行的情況下更新的:
3.根據(jù)權(quán)利要求2所述的方法,其中,所述計(jì)數(shù)變量存儲(chǔ)在用于所述人工智能處理器的全局存儲(chǔ)單元,
4.根據(jù)權(quán)利要求1所述的方法,其中,所述計(jì)數(shù)變量的值是通過(guò)以下操作在所述代碼分支的插樁代碼被所述處理器核執(zhí)行的情況下更新的:
5.根據(jù)權(quán)利要求1所述的方法,其中,所述計(jì)數(shù)變量為所述人工智能處理器的全局變量,所述第一測(cè)試結(jié)果包括所述人工智能處理器的第一代碼覆蓋率。
6.根據(jù)權(quán)利要求1所述的方法,其中,所述待測(cè)代碼被多個(gè)所述人工智能處理器執(zhí)行,所述第一測(cè)試結(jié)果為多個(gè),多個(gè)所述第一測(cè)試結(jié)果與多個(gè)所述人工智能處理器一一對(duì)應(yīng);
7.一種代碼測(cè)試裝置,包括:
8.根據(jù)權(quán)利要求7所述的裝置,其中,所述計(jì)數(shù)變量的值是通過(guò)以下模塊執(zhí)行相關(guān)操作在所述代碼分支的插樁代碼被所述處理器核執(zhí)行的情況下更新的:
9.根據(jù)權(quán)利要求8所述的裝置,其中,所述計(jì)數(shù)變量存儲(chǔ)在用于所述人工智能處理器的全局存儲(chǔ)單元,
10.根據(jù)權(quán)利要求7所述的裝置,其中,所述計(jì)數(shù)變量的值是通過(guò)以下模塊執(zhí)行相關(guān)操作在所述代碼分支的插樁代碼被所述處理器核執(zhí)行的情況下更新的:
11.根據(jù)權(quán)利要求7所述的裝置,其中,所述計(jì)數(shù)變量為所述人工智能處理器的全局變量,所述第一測(cè)試結(jié)果包括所述人工智能處理器的第一代碼覆蓋率。
12.根據(jù)權(quán)利要求7所述的裝置,其中,所述待測(cè)代碼被多個(gè)所述人工智能處理器執(zhí)行,所述第一測(cè)試結(jié)果為多個(gè),多個(gè)所述第一測(cè)試結(jié)果與多個(gè)所述人工智能處理器一一對(duì)應(yīng);
13.一種電子設(shè)備,包括:
14.一種存儲(chǔ)有計(jì)算機(jī)指令的非瞬時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述計(jì)算機(jī)指令用于使所述計(jì)算機(jī)執(zhí)行根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的方法。
15.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在被處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的方法。