本技術(shù)涉及芯片,特別是涉及一種芯片驗(yàn)證方法、裝置、服務(wù)器及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、對(duì)芯片進(jìn)行流片生產(chǎn)之前,需要采用服務(wù)器或現(xiàn)場(chǎng)可編程門陣列(fieldprogrammable?gate?array,fpga)、仿真(emulation)加速器等專用處理器對(duì)芯片進(jìn)行驗(yàn)證,以確保芯片的功能符合eda設(shè)計(jì)需求,確保芯片的質(zhì)量。
2、然而,隨著人工智能(artificial?intelligence,ai)的迅速發(fā)展,數(shù)據(jù)中心的需求逐漸旺盛,應(yīng)用于數(shù)據(jù)中心的單芯片規(guī)模、小芯片(chiplet)規(guī)模以及芯片組網(wǎng)規(guī)模迅速擴(kuò)大。采用服務(wù)器進(jìn)行芯片驗(yàn)證,實(shí)際為服務(wù)器中的一個(gè)中央處理器(central?processingunit,cpu)核執(zhí)行芯片驗(yàn)證,在單芯片規(guī)模、小芯片規(guī)模以及芯片組網(wǎng)規(guī)模增大的情況,單個(gè)cpu核執(zhí)行芯片驗(yàn)證,驗(yàn)證效率較低;而采用專用處理器對(duì)大規(guī)模的單芯片、小芯片或芯片組網(wǎng)進(jìn)行驗(yàn)證,雖然驗(yàn)證效率較高,但驗(yàn)證成本也較高。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例的目的在于提供一種芯片驗(yàn)證方法、裝置、服務(wù)器及存儲(chǔ)介質(zhì),以在提高芯片驗(yàn)證效率的同時(shí),降低芯片驗(yàn)證成本。具體技術(shù)方案如下:
2、第一方面,本技術(shù)實(shí)施例提供了一種芯片驗(yàn)證方法,應(yīng)用于第一cpu核,所述方法包括:
3、獲取芯片驗(yàn)證的仿真任務(wù),所述仿真任務(wù)包括多個(gè)子任務(wù);
4、分別為每個(gè)子任務(wù)分配空閑的第二cpu核,并為所述多個(gè)子任務(wù)創(chuàng)建底層通信空間;
5、將所述多個(gè)子任務(wù)發(fā)送給對(duì)應(yīng)的第二cpu核,以使每個(gè)第二cpu核執(zhí)行對(duì)應(yīng)的子任務(wù),以及利用所述底層通信空間與其他第二cpu核交互子任務(wù)執(zhí)行過程中生成的數(shù)據(jù)。
6、在一些實(shí)施例中,所述方法還包括:
7、持續(xù)獲取多個(gè)第二cpu核的仿真時(shí)間;
8、當(dāng)?shù)谌齝pu核與第四cpu核的仿真時(shí)間的差值大于等于第一預(yù)設(shè)時(shí)長(zhǎng)時(shí),指示所述第三cpu核暫停執(zhí)行子任務(wù);所述第三cpu核為所述多個(gè)第二cpu核中的任一個(gè)第二cpu核,所述第四cpu核為所述多個(gè)第二cpu核中仿真時(shí)間最慢的第二cpu核;
9、當(dāng)所述第三cpu核與所述第四cpu核的仿真時(shí)間的差值小于等于第二預(yù)設(shè)時(shí)長(zhǎng)時(shí),指示所述第三cpu核恢復(fù)執(zhí)行子任務(wù)。
10、在一些實(shí)施例中,所述當(dāng)?shù)谌齝pu核與第四cpu核的仿真時(shí)間的差值大于等于第一預(yù)設(shè)時(shí)長(zhǎng)時(shí),指示所述第三cpu核暫停執(zhí)行子任務(wù)的步驟,包括:
11、當(dāng)?shù)谌齝pu核與第四cpu核的仿真時(shí)間的差值大于等于第一預(yù)設(shè)時(shí)長(zhǎng),且所述第三cpu核的仿真時(shí)間達(dá)到一個(gè)仿真周期時(shí),指示所述第三cpu核暫停執(zhí)行子任務(wù)。
12、在一些實(shí)施例中,所述第二預(yù)設(shè)時(shí)長(zhǎng)為零;
13、所述當(dāng)所述第三cpu核與所述第四cpu核的仿真時(shí)間的差值小于等于第二預(yù)設(shè)時(shí)長(zhǎng)時(shí),指示所述第三cpu核恢復(fù)執(zhí)行子任務(wù)的步驟,包括:
14、當(dāng)所述第四cpu核的仿真時(shí)間達(dá)到一個(gè)仿真周期時(shí),指示所述第三cpu核恢復(fù)執(zhí)行子任務(wù)。
15、在一些實(shí)施例中,所述為所述多個(gè)子任務(wù)創(chuàng)建底層通信空間的步驟,包括:
16、根據(jù)所述多個(gè)子任務(wù)的拓?fù)浣Y(jié)構(gòu),確定存在數(shù)據(jù)交互的兩個(gè)第二cpu核;
17、為所述兩個(gè)第二cpu核創(chuàng)建底層通信空間。
18、在一些實(shí)施例中,所述方法還包括:
19、對(duì)每個(gè)第二cpu核進(jìn)行檢測(cè),得到每個(gè)第二cpu核中子任務(wù)的執(zhí)行狀況;
20、對(duì)每個(gè)cpu核中的子任務(wù)進(jìn)行所述執(zhí)行狀況對(duì)應(yīng)的后級(jí)處理。
21、在一些實(shí)施例中,所述底層通信空間為共享文件、共享內(nèi)存或unix域套接字。
22、在一些實(shí)施例中,所述第一cpu核與多個(gè)第二cpu核位于同一服務(wù)器上。
23、第二方面,本技術(shù)實(shí)施例提供了一種芯片驗(yàn)證裝置,應(yīng)用于第一cpu核,所述裝置包括:
24、第一獲取模塊,用于獲取芯片驗(yàn)證的仿真任務(wù),所述仿真任務(wù)包括多個(gè)子任務(wù);
25、分配模塊,用于分別為每個(gè)子任務(wù)分配空閑的第二cpu核,并為所述多個(gè)子任務(wù)創(chuàng)建底層通信空間;
26、發(fā)送模塊,用于將所述多個(gè)子任務(wù)發(fā)送給對(duì)應(yīng)的第二cpu核,以使每個(gè)第二cpu核執(zhí)行對(duì)應(yīng)的子任務(wù),以及利用所述底層通信空間與其他第二cpu核交互子任務(wù)執(zhí)行過程中生成的數(shù)據(jù)。
27、在一些實(shí)施例中,所述裝置還包括:
28、第二獲取模塊,用于持續(xù)獲取多個(gè)第二cpu核的仿真時(shí)間;
29、指示模塊,用于當(dāng)?shù)谌齝pu核與第四cpu核的仿真時(shí)間的差值大于等于第一預(yù)設(shè)時(shí)長(zhǎng)時(shí),指示所述第三cpu核暫停執(zhí)行子任務(wù);所述第三cpu核為所述多個(gè)第二cpu核中的任一個(gè)第二cpu核,所述第四cpu核為所述多個(gè)第二cpu核中仿真時(shí)間最慢的第二cpu核;當(dāng)所述第三cpu核與所述第四cpu核的仿真時(shí)間的差值小于等于第二預(yù)設(shè)時(shí)長(zhǎng)時(shí),指示所述第三cpu核恢復(fù)執(zhí)行子任務(wù)。
30、在一些實(shí)施例中,所述指示模塊,具體用于:
31、當(dāng)?shù)谌齝pu核與第四cpu核的仿真時(shí)間的差值大于等于第一預(yù)設(shè)時(shí)長(zhǎng),且所述第三cpu核的仿真時(shí)間達(dá)到一個(gè)仿真周期時(shí),指示所述第三cpu核暫停執(zhí)行子任務(wù)。
32、在一些實(shí)施例中,所述第二預(yù)設(shè)時(shí)長(zhǎng)為零;
33、所述指示模塊,具體用于:當(dāng)所述第四cpu核的仿真時(shí)間達(dá)到一個(gè)仿真周期時(shí),指示所述第三cpu核恢復(fù)執(zhí)行子任務(wù)。
34、在一些實(shí)施例中,所述分配模塊,具體用于:
35、根據(jù)所述多個(gè)子任務(wù)的拓?fù)浣Y(jié)構(gòu),確定存在數(shù)據(jù)交互的兩個(gè)第二cpu核;
36、為所述兩個(gè)第二cpu核創(chuàng)建底層通信空間。
37、在一些實(shí)施例中,所述裝置還包括:
38、檢測(cè)模塊,用于對(duì)每個(gè)第二cpu核進(jìn)行檢測(cè),得到每個(gè)第二cpu核中子任務(wù)的執(zhí)行狀況;
39、處理模塊,用于對(duì)每個(gè)cpu核中的子任務(wù)進(jìn)行所述執(zhí)行狀況對(duì)應(yīng)的后級(jí)處理。
40、在一些實(shí)施例中,所述底層通信空間為共享文件、共享內(nèi)存或unix域套接字。
41、在一些實(shí)施例中,所述第一cpu核與多個(gè)第二cpu核位于同一服務(wù)器上。
42、第三方面,本技術(shù)實(shí)施例提供了一種服務(wù)器,包括處理器、通信接口、存儲(chǔ)器和通信總線,其中,處理器,通信接口,存儲(chǔ)器通過通信總線完成相互間的通信;
43、存儲(chǔ)器,用于存放計(jì)算機(jī)程序;
44、處理器,用于執(zhí)行存儲(chǔ)器上所存放的程序時(shí),實(shí)現(xiàn)上述任一所述的方法。
45、第四方面,本技術(shù)實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)內(nèi)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任一所述的方法。
46、第五方面,本技術(shù)實(shí)施例還提供了一種包含指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)其在計(jì)算機(jī)上運(yùn)行時(shí),使得計(jì)算機(jī)執(zhí)行上述任一所述的方法。
47、本技術(shù)實(shí)施例有益效果:
48、本技術(shù)實(shí)施例提供的技術(shù)方案中,第一cpu核將一個(gè)芯片驗(yàn)證的仿真任務(wù)拆分為多個(gè)子任務(wù);并為每個(gè)子任務(wù)分配空閑的第二cpu核,由每個(gè)第二cpu核分別執(zhí)行子任務(wù),實(shí)現(xiàn)多個(gè)第二cpu核并行執(zhí)行子任務(wù),以完成仿真任務(wù),提高了芯片驗(yàn)證效率。此外,本技術(shù)實(shí)施例中,由服務(wù)器上的cpu核完成,無需使用價(jià)格昂貴的專用處理器,因此,降低了芯片驗(yàn)證的成本。
49、當(dāng)然,實(shí)施本技術(shù)的任一產(chǎn)品或方法并不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。