System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請(qǐng)涉及計(jì)算機(jī),特別是涉及一種任務(wù)處理方法和異構(gòu)系統(tǒng)。
技術(shù)介紹
1、異構(gòu)計(jì)算指的是使用不同類(lèi)型的指令集、體系架構(gòu)的計(jì)算單元組成系統(tǒng)的計(jì)算方式。例如,中央處理器(central?processing?unit,cpu)和圖形處理器(graphicsprocessing?unit,gpu),cpu和神經(jīng)網(wǎng)絡(luò)處理器(neural?network?processing?unit,npu)等。
2、以cpu和gpu的異構(gòu)系統(tǒng)為例,相關(guān)技術(shù)中,cpu和gpu的異構(gòu)系統(tǒng)執(zhí)行異構(gòu)計(jì)算任務(wù)的過(guò)程中,通常是按照順序執(zhí)行任務(wù)的。示例地,cpu和gpu的異構(gòu)系統(tǒng)執(zhí)行常規(guī)算法推理流程可以是cpu先進(jìn)行前處理,gpu再執(zhí)行計(jì)算,然后cpu進(jìn)行后處理。
3、然而,相關(guān)技術(shù)中的異構(gòu)計(jì)算任務(wù)執(zhí)行時(shí),存在cpu和gpu的利用率低的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)上述技術(shù)問(wèn)題,提供一種任務(wù)處理方法和異構(gòu)系統(tǒng),能夠提高cpu和gpu的利用率。
2、第一方面,本申請(qǐng)?zhí)峁┝艘环N任務(wù)處理方法,應(yīng)用于異構(gòu)系統(tǒng)中的第一處理器,該方法包括:
3、對(duì)待處理任務(wù)劃分的多個(gè)子任務(wù)并行進(jìn)行前處理;
4、調(diào)用異構(gòu)系統(tǒng)中第二處理器按照任務(wù)樣本數(shù),對(duì)各子任務(wù)的前處理結(jié)果進(jìn)行輪循計(jì)算,并在每獲得一輪子任務(wù)計(jì)算結(jié)果的情況下,執(zhí)行一次子任務(wù)計(jì)算結(jié)果的并行后處理;每輪計(jì)算的子任務(wù)數(shù)量與任務(wù)樣本數(shù)相同;
5、根據(jù)各子任務(wù)的后處理結(jié)果,確定待處理任務(wù)的任務(wù)處理結(jié)果。
>6、本申請(qǐng)實(shí)施例提供的任務(wù)處理方法應(yīng)用于異構(gòu)系統(tǒng)中的第一處理器,通過(guò)對(duì)待處理任務(wù)劃分的多個(gè)子任務(wù)并行進(jìn)行前處理;調(diào)用異構(gòu)系統(tǒng)中第二處理器按照任務(wù)樣本數(shù)對(duì)各子任務(wù)的前處理結(jié)果進(jìn)行輪循計(jì)算,并在每獲得一輪子任務(wù)計(jì)算結(jié)果的情況下,執(zhí)行一次子任務(wù)計(jì)算結(jié)果的并行后處理;每輪計(jì)算的子任務(wù)數(shù)量與任務(wù)樣本數(shù)相同;根據(jù)各子任務(wù)的后處理結(jié)果確定待處理任務(wù)的任務(wù)處理結(jié)果。該方法中,對(duì)多個(gè)子任務(wù)是并行進(jìn)行前處理,以及對(duì)多個(gè)子任務(wù)計(jì)算結(jié)果是并行進(jìn)行后處理的,這樣能夠提高第一處理器的利用率;并且調(diào)用第二處理器按照任務(wù)樣本數(shù)對(duì)各子任務(wù)的前處理結(jié)果進(jìn)行輪循計(jì)算,與對(duì)子任務(wù)計(jì)算結(jié)果進(jìn)行并行后處理是同時(shí)進(jìn)行的,這樣能夠提高第二處理器的利用率。另外,第二處理器是按照任務(wù)樣本數(shù)對(duì)各子任務(wù)的前處理結(jié)果進(jìn)行計(jì)算的,這樣第二處理器可以同時(shí)對(duì)多個(gè)子任務(wù)中的數(shù)據(jù)進(jìn)行處理,能夠提高第二處理器的計(jì)算利用率。
7、在其中一個(gè)實(shí)施例中,第一處理器中包括多個(gè)處理單元;多個(gè)子任務(wù)的數(shù)量與多個(gè)處理單元的數(shù)量相同;對(duì)待處理任務(wù)劃分的多個(gè)子任務(wù)并行進(jìn)行前處理,包括:
8、在處理單元為線(xiàn)程,或者,處理單元為線(xiàn)程和進(jìn)程的情況下,調(diào)用多個(gè)線(xiàn)程對(duì)多個(gè)子任務(wù)并行進(jìn)行前處理;
9、在處理單元為進(jìn)程的情況下,調(diào)用多個(gè)進(jìn)程對(duì)多個(gè)子任務(wù)并行進(jìn)行前處理。
10、本實(shí)施例提供的任務(wù)處理方法,在處理單元為線(xiàn)程,或者處理單元為線(xiàn)程和進(jìn)程的情況下,調(diào)用多個(gè)線(xiàn)程對(duì)多個(gè)子任務(wù)并行進(jìn)行前處理;在處理單元為進(jìn)程的情況下,調(diào)用多個(gè)進(jìn)程對(duì)多個(gè)子任務(wù)并行進(jìn)行前處理。該方法中,提供了處理單元為線(xiàn)程、進(jìn)程,以及線(xiàn)程和進(jìn)程的不同情況下對(duì)待處理任務(wù)劃分的多個(gè)子任務(wù)并行進(jìn)行前處理的方法,這樣使用者可以根據(jù)實(shí)際應(yīng)用自行選擇,使得任務(wù)處理方法具有更高的實(shí)用性。
11、在其中一個(gè)實(shí)施例中,對(duì)待處理任務(wù)劃分的多個(gè)子任務(wù)并行進(jìn)行前處理,包括:
12、第一處理器對(duì)各子任務(wù)并行進(jìn)行前處理;或者,
13、第一處理器調(diào)用第二處理器對(duì)各子任務(wù)并行進(jìn)行前處理。
14、本申請(qǐng)實(shí)施例提供的任務(wù)處理方法,通過(guò)第一處理器對(duì)各子任務(wù)并行進(jìn)行前處理;或者通過(guò)第一處理器調(diào)用第二處理器對(duì)各子任務(wù)并行進(jìn)行前處理。該方法中,提供了對(duì)各子任務(wù)并行進(jìn)行前處理的兩種方式,使用者可以根據(jù)實(shí)際應(yīng)用場(chǎng)景自行選擇,這樣使得任務(wù)處理方法具有更高的實(shí)用性。并且,無(wú)論是第一處理器對(duì)各子任務(wù)進(jìn)行前處理,還是第二處理器對(duì)各子任務(wù)進(jìn)行前處理,均是并行處理,這樣能夠提高第一處理器和第二處理器的利用率。
15、在其中一個(gè)實(shí)施例中,每輪獲得的子任務(wù)計(jì)算結(jié)果是第二處理器基于任務(wù)樣本數(shù)劃分出多個(gè)執(zhí)行單元對(duì)相應(yīng)的子任務(wù)的前處理結(jié)果進(jìn)行計(jì)算得到;每輪計(jì)算中每個(gè)執(zhí)行單元對(duì)應(yīng)執(zhí)行一個(gè)子任務(wù)的前處理結(jié)果計(jì)算操作。
16、本實(shí)施例提供的任務(wù)處理方法,每輪獲得的子任務(wù)計(jì)算結(jié)果是第二處理器基于任務(wù)樣本數(shù)劃分出多個(gè)執(zhí)行單元對(duì)相應(yīng)的子任務(wù)的前處理結(jié)果進(jìn)行計(jì)算得到的,每輪計(jì)算中每個(gè)執(zhí)行單元對(duì)應(yīng)執(zhí)行一個(gè)子任務(wù)的前處理結(jié)果計(jì)算操作。該方法中,第二處理器在對(duì)各子任務(wù)的前處理結(jié)果執(zhí)行計(jì)算操作時(shí),是由第二處理其中的多個(gè)執(zhí)行單元計(jì)算的,執(zhí)行單元的數(shù)量與需要處理的子任務(wù)的前處理結(jié)果的數(shù)量相同,這樣能夠提高第二處理器對(duì)各子任務(wù)的前處理結(jié)果進(jìn)行計(jì)算的效率,從而能夠提高第二處理器的利用率。
17、在其中一個(gè)實(shí)施例中,該方法還包括:
18、在第二處理器中多個(gè)執(zhí)行單元進(jìn)行每輪計(jì)算之前,對(duì)多個(gè)執(zhí)行單元執(zhí)行加鎖操作;
19、在檢測(cè)到多個(gè)執(zhí)行單元每輪計(jì)算完成的情況下,對(duì)多個(gè)執(zhí)行單元執(zhí)行釋放鎖操作。
20、本實(shí)施例提供的任務(wù)處理方法,在第二處理器中多個(gè)執(zhí)行單元進(jìn)行每輪計(jì)算之前,對(duì)多個(gè)執(zhí)行單元執(zhí)行加鎖操作;在檢測(cè)到多個(gè)執(zhí)行單元每輪計(jì)算完成的情況下,對(duì)多個(gè)執(zhí)行單元執(zhí)行釋放鎖操作。該方法中,在第二處理器對(duì)任務(wù)樣本數(shù)的子任務(wù)的前處理結(jié)果進(jìn)行每輪計(jì)算時(shí)進(jìn)行加鎖,在計(jì)算完成后釋放鎖,這樣能夠防止第二處理器中的多個(gè)執(zhí)行單元子進(jìn)行每輪計(jì)算時(shí)子任務(wù)之間的競(jìng)爭(zhēng),從而能夠避免計(jì)算出錯(cuò),提高最終得到的任務(wù)處理結(jié)果的準(zhǔn)確性,使得任務(wù)處理方法具有更高的可靠性。
21、在其中一個(gè)實(shí)施例中,在每獲得一輪子任務(wù)計(jì)算結(jié)果的情況下,執(zhí)行一次子任務(wù)計(jì)算結(jié)果的并行后處理,包括:
22、在每獲得一輪子任務(wù)計(jì)算結(jié)果的情況下,第一處理器執(zhí)行一次子任務(wù)計(jì)算結(jié)果的并行后處理;或者,
23、在每獲得一輪子任務(wù)計(jì)算結(jié)果的情況下,第二處理器執(zhí)行一次子任務(wù)計(jì)算結(jié)果的并行后處理。
24、本實(shí)施例提供的任務(wù)處理方法,在每獲得一輪子任務(wù)計(jì)算結(jié)果的情況下,可以由第一處理器執(zhí)行一次子任務(wù)計(jì)算結(jié)果的并行后處理,也可以由第二處理器執(zhí)行一次子任務(wù)計(jì)算結(jié)果的并行后處理。該方法中,提供了對(duì)各子任務(wù)計(jì)算結(jié)果進(jìn)行并行后處理的兩種方式,使用者可以根據(jù)實(shí)際應(yīng)用場(chǎng)景自行選擇,這樣使得任務(wù)處理方法具有更高的實(shí)用性。
25、在其中一個(gè)實(shí)施例中,第一處理器中包括多個(gè)處理單元;第一處理器執(zhí)行一次子任務(wù)計(jì)算結(jié)果的并行后處理,包括:
26、在處理單元為線(xiàn)程,或者,處理單元為線(xiàn)程和進(jìn)程的情況下,第一處理器調(diào)用多個(gè)線(xiàn)程執(zhí)行一次子任務(wù)計(jì)算結(jié)果的并行后處理;
27、在處理單元為進(jìn)程的情況下,第一處理器調(diào)用多個(gè)進(jìn)程執(zhí)行一次子任務(wù)計(jì)算結(jié)果的并行后處理。
28、本實(shí)施例提供的任務(wù)處理方法中,在處理單元為線(xiàn)程,或者處理單元為線(xiàn)程本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種任務(wù)處理方法,其特征在于,應(yīng)用于異構(gòu)系統(tǒng)中的第一處理器,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一處理器中包括多個(gè)處理單元;所述多個(gè)子任務(wù)的數(shù)量與所述多個(gè)處理單元的數(shù)量相同;所述對(duì)待處理任務(wù)劃分的多個(gè)子任務(wù)并行進(jìn)行前處理,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對(duì)待處理任務(wù)劃分的多個(gè)子任務(wù)并行進(jìn)行前處理,包括:
4.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,每輪獲得的子任務(wù)計(jì)算結(jié)果是所述第二處理器基于所述任務(wù)樣本數(shù)劃分出多個(gè)執(zhí)行單元對(duì)相應(yīng)的子任務(wù)的前處理結(jié)果進(jìn)行計(jì)算得到;每輪計(jì)算中每個(gè)執(zhí)行單元對(duì)應(yīng)執(zhí)行一個(gè)子任務(wù)的前處理結(jié)果計(jì)算操作。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,所述在每獲得一輪子任務(wù)計(jì)算結(jié)果的情況下,執(zhí)行一次子任務(wù)計(jì)算結(jié)果的并行后處理,包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述第一處理器中包括多個(gè)處理單元;所述第一處理器執(zhí)行一次子任務(wù)計(jì)算結(jié)果的并行后處理,包括
8.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,所述方法還包括:
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述基于各所述任務(wù)搜索空間,確定所述任務(wù)樣本數(shù)和所述第一處理器中的處理單元數(shù)量,包括:
10.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述根據(jù)每個(gè)所述任務(wù)搜索空間中的多個(gè)初始線(xiàn)程數(shù),確定各所述任務(wù)搜索空間對(duì)應(yīng)的目標(biāo)線(xiàn)程任務(wù)耗時(shí),包括:
11.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,所述根據(jù)各所述子任務(wù)的后處理結(jié)果,確定所述待處理任務(wù)的任務(wù)處理結(jié)果,包括:
12.一種任務(wù)處理方法,其特征在于,應(yīng)用于異構(gòu)系統(tǒng)中的第二處理器,所述方法包括:
13.一種異構(gòu)系統(tǒng),其特征在于,包括第一處理器和第二處理器,所述第一處理器用于執(zhí)行如權(quán)利要求1-11中任一項(xiàng)所述的方法的步驟;
...【技術(shù)特征摘要】
1.一種任務(wù)處理方法,其特征在于,應(yīng)用于異構(gòu)系統(tǒng)中的第一處理器,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一處理器中包括多個(gè)處理單元;所述多個(gè)子任務(wù)的數(shù)量與所述多個(gè)處理單元的數(shù)量相同;所述對(duì)待處理任務(wù)劃分的多個(gè)子任務(wù)并行進(jìn)行前處理,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對(duì)待處理任務(wù)劃分的多個(gè)子任務(wù)并行進(jìn)行前處理,包括:
4.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,每輪獲得的子任務(wù)計(jì)算結(jié)果是所述第二處理器基于所述任務(wù)樣本數(shù)劃分出多個(gè)執(zhí)行單元對(duì)相應(yīng)的子任務(wù)的前處理結(jié)果進(jìn)行計(jì)算得到;每輪計(jì)算中每個(gè)執(zhí)行單元對(duì)應(yīng)執(zhí)行一個(gè)子任務(wù)的前處理結(jié)果計(jì)算操作。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,所述在每獲得一輪子任務(wù)計(jì)算結(jié)果的情況下,執(zhí)行一次子任務(wù)計(jì)算結(jié)果的并行后處理,包括:
7.根據(jù)權(quán)利要求...
【專(zhuān)利技術(shù)屬性】
技術(shù)研發(fā)人員:徐曉歐,焦巖,董露露,
申請(qǐng)(專(zhuān)利權(quán))人:曙光信息產(chǎn)業(yè)股份有限公司,
類(lèi)型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。