国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      任務(wù)處理方法和異構(gòu)系統(tǒng)與流程

      文檔序號:40426206發(fā)布日期:2024-12-24 14:59閱讀:8來源:國知局
      任務(wù)處理方法和異構(gòu)系統(tǒng)與流程

      本技術(shù)涉及計算機,特別是涉及一種任務(wù)處理方法和異構(gòu)系統(tǒng)。


      背景技術(shù):

      1、異構(gòu)計算指的是使用不同類型的指令集、體系架構(gòu)的計算單元組成系統(tǒng)的計算方式。例如,中央處理器(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)計算任務(wù)的過程中,通常是按照順序執(zhí)行任務(wù)的。示例地,cpu和gpu的異構(gòu)系統(tǒng)執(zhí)行常規(guī)算法推理流程可以是cpu先進(jìn)行前處理,gpu再執(zhí)行計算,然后cpu進(jìn)行后處理。

      3、然而,相關(guān)技術(shù)中的異構(gòu)計算任務(wù)執(zhí)行時,存在cpu和gpu的利用率低的問題。


      技術(shù)實現(xiàn)思路

      1、基于此,有必要針對上述技術(shù)問題,提供一種任務(wù)處理方法和異構(gòu)系統(tǒng),能夠提高cpu和gpu的利用率。

      2、第一方面,本技術(shù)提供了一種任務(wù)處理方法,應(yīng)用于異構(gòu)系統(tǒng)中的第一處理器,該方法包括:

      3、對待處理任務(wù)劃分的多個子任務(wù)并行進(jìn)行前處理;

      4、調(diào)用異構(gòu)系統(tǒng)中第二處理器按照任務(wù)樣本數(shù),對各子任務(wù)的前處理結(jié)果進(jìn)行輪循計算,并在每獲得一輪子任務(wù)計算結(jié)果的情況下,執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理;每輪計算的子任務(wù)數(shù)量與任務(wù)樣本數(shù)相同;

      5、根據(jù)各子任務(wù)的后處理結(jié)果,確定待處理任務(wù)的任務(wù)處理結(jié)果。

      6、本技術(shù)實施例提供的任務(wù)處理方法應(yīng)用于異構(gòu)系統(tǒng)中的第一處理器,通過對待處理任務(wù)劃分的多個子任務(wù)并行進(jìn)行前處理;調(diào)用異構(gòu)系統(tǒng)中第二處理器按照任務(wù)樣本數(shù)對各子任務(wù)的前處理結(jié)果進(jìn)行輪循計算,并在每獲得一輪子任務(wù)計算結(jié)果的情況下,執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理;每輪計算的子任務(wù)數(shù)量與任務(wù)樣本數(shù)相同;根據(jù)各子任務(wù)的后處理結(jié)果確定待處理任務(wù)的任務(wù)處理結(jié)果。該方法中,對多個子任務(wù)是并行進(jìn)行前處理,以及對多個子任務(wù)計算結(jié)果是并行進(jìn)行后處理的,這樣能夠提高第一處理器的利用率;并且調(diào)用第二處理器按照任務(wù)樣本數(shù)對各子任務(wù)的前處理結(jié)果進(jìn)行輪循計算,與對子任務(wù)計算結(jié)果進(jìn)行并行后處理是同時進(jìn)行的,這樣能夠提高第二處理器的利用率。另外,第二處理器是按照任務(wù)樣本數(shù)對各子任務(wù)的前處理結(jié)果進(jìn)行計算的,這樣第二處理器可以同時對多個子任務(wù)中的數(shù)據(jù)進(jìn)行處理,能夠提高第二處理器的計算利用率。

      7、在其中一個實施例中,第一處理器中包括多個處理單元;多個子任務(wù)的數(shù)量與多個處理單元的數(shù)量相同;對待處理任務(wù)劃分的多個子任務(wù)并行進(jìn)行前處理,包括:

      8、在處理單元為線程,或者,處理單元為線程和進(jìn)程的情況下,調(diào)用多個線程對多個子任務(wù)并行進(jìn)行前處理;

      9、在處理單元為進(jìn)程的情況下,調(diào)用多個進(jìn)程對多個子任務(wù)并行進(jìn)行前處理。

      10、本實施例提供的任務(wù)處理方法,在處理單元為線程,或者處理單元為線程和進(jìn)程的情況下,調(diào)用多個線程對多個子任務(wù)并行進(jìn)行前處理;在處理單元為進(jìn)程的情況下,調(diào)用多個進(jìn)程對多個子任務(wù)并行進(jìn)行前處理。該方法中,提供了處理單元為線程、進(jìn)程,以及線程和進(jìn)程的不同情況下對待處理任務(wù)劃分的多個子任務(wù)并行進(jìn)行前處理的方法,這樣使用者可以根據(jù)實際應(yīng)用自行選擇,使得任務(wù)處理方法具有更高的實用性。

      11、在其中一個實施例中,對待處理任務(wù)劃分的多個子任務(wù)并行進(jìn)行前處理,包括:

      12、第一處理器對各子任務(wù)并行進(jìn)行前處理;或者,

      13、第一處理器調(diào)用第二處理器對各子任務(wù)并行進(jìn)行前處理。

      14、本技術(shù)實施例提供的任務(wù)處理方法,通過第一處理器對各子任務(wù)并行進(jìn)行前處理;或者通過第一處理器調(diào)用第二處理器對各子任務(wù)并行進(jìn)行前處理。該方法中,提供了對各子任務(wù)并行進(jìn)行前處理的兩種方式,使用者可以根據(jù)實際應(yīng)用場景自行選擇,這樣使得任務(wù)處理方法具有更高的實用性。并且,無論是第一處理器對各子任務(wù)進(jìn)行前處理,還是第二處理器對各子任務(wù)進(jìn)行前處理,均是并行處理,這樣能夠提高第一處理器和第二處理器的利用率。

      15、在其中一個實施例中,每輪獲得的子任務(wù)計算結(jié)果是第二處理器基于任務(wù)樣本數(shù)劃分出多個執(zhí)行單元對相應(yīng)的子任務(wù)的前處理結(jié)果進(jìn)行計算得到;每輪計算中每個執(zhí)行單元對應(yīng)執(zhí)行一個子任務(wù)的前處理結(jié)果計算操作。

      16、本實施例提供的任務(wù)處理方法,每輪獲得的子任務(wù)計算結(jié)果是第二處理器基于任務(wù)樣本數(shù)劃分出多個執(zhí)行單元對相應(yīng)的子任務(wù)的前處理結(jié)果進(jìn)行計算得到的,每輪計算中每個執(zhí)行單元對應(yīng)執(zhí)行一個子任務(wù)的前處理結(jié)果計算操作。該方法中,第二處理器在對各子任務(wù)的前處理結(jié)果執(zhí)行計算操作時,是由第二處理其中的多個執(zhí)行單元計算的,執(zhí)行單元的數(shù)量與需要處理的子任務(wù)的前處理結(jié)果的數(shù)量相同,這樣能夠提高第二處理器對各子任務(wù)的前處理結(jié)果進(jìn)行計算的效率,從而能夠提高第二處理器的利用率。

      17、在其中一個實施例中,該方法還包括:

      18、在第二處理器中多個執(zhí)行單元進(jìn)行每輪計算之前,對多個執(zhí)行單元執(zhí)行加鎖操作;

      19、在檢測到多個執(zhí)行單元每輪計算完成的情況下,對多個執(zhí)行單元執(zhí)行釋放鎖操作。

      20、本實施例提供的任務(wù)處理方法,在第二處理器中多個執(zhí)行單元進(jìn)行每輪計算之前,對多個執(zhí)行單元執(zhí)行加鎖操作;在檢測到多個執(zhí)行單元每輪計算完成的情況下,對多個執(zhí)行單元執(zhí)行釋放鎖操作。該方法中,在第二處理器對任務(wù)樣本數(shù)的子任務(wù)的前處理結(jié)果進(jìn)行每輪計算時進(jìn)行加鎖,在計算完成后釋放鎖,這樣能夠防止第二處理器中的多個執(zhí)行單元子進(jìn)行每輪計算時子任務(wù)之間的競爭,從而能夠避免計算出錯,提高最終得到的任務(wù)處理結(jié)果的準(zhǔn)確性,使得任務(wù)處理方法具有更高的可靠性。

      21、在其中一個實施例中,在每獲得一輪子任務(wù)計算結(jié)果的情況下,執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理,包括:

      22、在每獲得一輪子任務(wù)計算結(jié)果的情況下,第一處理器執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理;或者,

      23、在每獲得一輪子任務(wù)計算結(jié)果的情況下,第二處理器執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理。

      24、本實施例提供的任務(wù)處理方法,在每獲得一輪子任務(wù)計算結(jié)果的情況下,可以由第一處理器執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理,也可以由第二處理器執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理。該方法中,提供了對各子任務(wù)計算結(jié)果進(jìn)行并行后處理的兩種方式,使用者可以根據(jù)實際應(yīng)用場景自行選擇,這樣使得任務(wù)處理方法具有更高的實用性。

      25、在其中一個實施例中,第一處理器中包括多個處理單元;第一處理器執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理,包括:

      26、在處理單元為線程,或者,處理單元為線程和進(jìn)程的情況下,第一處理器調(diào)用多個線程執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理;

      27、在處理單元為進(jìn)程的情況下,第一處理器調(diào)用多個進(jìn)程執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理。

      28、本實施例提供的任務(wù)處理方法中,在處理單元為線程,或者處理單元為線程和進(jìn)程的情況下,調(diào)用多個線程對多個子任務(wù)計算結(jié)果并行進(jìn)行后處理;在處理單元為進(jìn)程的情況下,調(diào)用多個進(jìn)程對多個子任務(wù)計算結(jié)果并行進(jìn)行前處理。該方法中,提供了處理單元為線程、進(jìn)程,以及線程和進(jìn)程的不同情況下對待處理任務(wù)劃分的多個子任務(wù)計算結(jié)果并行進(jìn)行后處理的方法,這樣使用者可以根據(jù)實際應(yīng)用自行選擇,使得任務(wù)處理方法具有更高的實用性。

      29、在其中一個實施例中,該方法還包括:

      30、根據(jù)第二處理器的顯存大小和對第二處理器預(yù)設(shè)的多個初始任務(wù)樣本數(shù),確定每個初始任務(wù)樣本數(shù)對應(yīng)的初始進(jìn)程數(shù);

      31、將每個初始任務(wù)樣本數(shù)和對應(yīng)的初始進(jìn)程數(shù)確定為一個任務(wù)搜索空間;

      32、基于各任務(wù)搜索空間,確定任務(wù)樣本數(shù)和第一處理器中的處理單元數(shù)量。

      33、本實施例提供的任務(wù)處理方法,根據(jù)第二處理器的顯存大小和對第二處理器預(yù)設(shè)的多個初始任務(wù)樣本數(shù),確定每個初始任務(wù)樣本數(shù)對應(yīng)的初始進(jìn)程數(shù);將每個初始任務(wù)樣本數(shù)和對應(yīng)的初始進(jìn)程數(shù)確定為一個任務(wù)搜索空間;基于各任務(wù)搜索空間確定多個處理單元和任務(wù)樣本數(shù)。該方法中,通過搜索的方法確定最優(yōu)的任務(wù)樣本數(shù),以及處理單元的數(shù)量,能夠充分的利用第一處理器和第二處理器的硬件資源,提高第一處理器和第二處理器的利用率,從而能夠提高整個異構(gòu)系統(tǒng)的性能。

      34、在其中一個實施例中,基于各任務(wù)搜索空間,確定任務(wù)樣本數(shù)和第一處理器中的處理單元數(shù)量,包括:

      35、根據(jù)第一處理器的核心數(shù),獲取每個任務(wù)搜索空間中的多個初始線程數(shù);

      36、根據(jù)每個任務(wù)搜索空間中的多個初始線程數(shù),確定各任務(wù)搜索空間對應(yīng)的目標(biāo)線程任務(wù)耗時;

      37、將最小目標(biāo)線程任務(wù)耗時對應(yīng)的線程數(shù)確定為處理單元數(shù)量,以及,將最小目標(biāo)線程任務(wù)耗時對應(yīng)的任務(wù)搜索空間中的初始任務(wù)樣本數(shù)確定為任務(wù)樣本數(shù)。

      38、本技術(shù)實施例提供的任務(wù)處理方法,根據(jù)第一處理器的核心數(shù)獲取每個任務(wù)搜索空間中的多個初始線程數(shù);根據(jù)每個任務(wù)搜索空間中的多個初始線程數(shù),確定各任務(wù)搜索空間對應(yīng)的目標(biāo)線程任務(wù)耗時;獲取最小目標(biāo)線程任務(wù)耗時對應(yīng)的任務(wù)搜索空間中的初始樣本數(shù)確定為第二處理器的任務(wù)樣本數(shù)。該方法中,通過確定各初始線程對應(yīng)的目標(biāo)線程任務(wù)耗時,將最小的任務(wù)耗時對應(yīng)的初始線程數(shù)、初始任務(wù)樣本和初始進(jìn)程數(shù)確定為最終的線程數(shù)、進(jìn)程數(shù)和任務(wù)樣本數(shù),從而能夠確定第一處理器中處理單元的數(shù)量,這樣能夠得到處理任務(wù)耗時最小的線程數(shù)、進(jìn)程數(shù)和任務(wù)樣本數(shù),使用該線程數(shù)、進(jìn)程數(shù)和任務(wù)樣本數(shù)能夠提高使用異構(gòu)系統(tǒng)對待處理任務(wù)進(jìn)行處理的效率。

      39、在其中一個實施例中,根據(jù)每個任務(wù)搜索空間中的多個初始線程數(shù),確定各任務(wù)搜索空間對應(yīng)的目標(biāo)線程任務(wù)耗時,包括:

      40、針對任一個任務(wù)搜索空間中的多個初始線程數(shù),確定任務(wù)搜索空間中每個初始線程數(shù)對應(yīng)的線程任務(wù)耗時;

      41、將確定的多個線程任務(wù)耗時中的最小線程任務(wù)耗時,確定為任務(wù)搜索空間對應(yīng)的目標(biāo)線程任務(wù)耗時。

      42、本實施例提供的任務(wù)處理方法,針對任一任務(wù)搜索空間中的多個初始線程數(shù),確定任務(wù)搜索空間每個初始線程數(shù)對應(yīng)的線程任務(wù)耗時;將確定的多個線程任務(wù)耗時中的最小線程任務(wù)耗時確定為任務(wù)搜索空間對應(yīng)的目標(biāo)線程任務(wù)耗時。該方法中,將任一任務(wù)搜索空間中多個初始線程數(shù)對應(yīng)的最小線程任務(wù)耗時確定為該任務(wù)搜索空間對應(yīng)的目標(biāo)線程任務(wù),這樣后續(xù)直接將各目標(biāo)線程任務(wù)耗時進(jìn)行對比,將最小目標(biāo)線程任務(wù)耗時對應(yīng)的初始線程數(shù)和初始任務(wù)樣本數(shù)分別確定為第一處理器的線程數(shù)和第二處理器的任務(wù)樣本數(shù),這樣能夠提高確定線程數(shù)和任務(wù)樣本數(shù)的效率,并且這樣確定線程數(shù)和任務(wù)樣本數(shù)的方法快捷,且容易實現(xiàn),使得任務(wù)處理方法具有更高的實用性。

      43、在其中一個實施例中,根據(jù)各子任務(wù)的后處理結(jié)果,確定待處理任務(wù)的任務(wù)處理結(jié)果,包括:

      44、對各子任務(wù)的后處理結(jié)果進(jìn)行融合處理,獲得待處理任務(wù)的任務(wù)處理結(jié)果。

      45、本技術(shù)實施例提供的任務(wù)處理方法,通過對各子任務(wù)的后處理結(jié)果進(jìn)行融合處理,獲得待處理任務(wù)的任務(wù)處理結(jié)果,這樣能夠提高確定的任務(wù)處理結(jié)果的準(zhǔn)確性和可靠性。

      46、第二方面,本技術(shù)實施例還提供一種任務(wù)處理方法,應(yīng)用于異構(gòu)系統(tǒng)中的第二處理器,該方法包括:

      47、根據(jù)異構(gòu)系統(tǒng)中第一處理器的調(diào)用指示,按照任務(wù)樣本數(shù)對多個子任務(wù)的前處理結(jié)果進(jìn)行輪循計算;多個子任務(wù)是對待處理任務(wù)劃分得到的;

      48、在每獲得一輪子任務(wù)計算結(jié)果的情況下,執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理;每輪計算的子任務(wù)數(shù)量與任務(wù)樣本數(shù)相同;

      49、根據(jù)各子任務(wù)的后處理結(jié)果,確定待處理任務(wù)的任務(wù)處理結(jié)果。

      50、本技術(shù)實施例提供的任務(wù)處理方法應(yīng)用于異構(gòu)系統(tǒng)中的第二處理器,通過根據(jù)異構(gòu)系統(tǒng)中第一處理器的調(diào)用指示,按照任務(wù)樣本數(shù)對多個子任務(wù)的前處理結(jié)果進(jìn)行輪循計算;多個子任務(wù)是對待處理任務(wù)劃分得到的;在每獲得一輪子任務(wù)計算結(jié)果的情況下,執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理每輪計算的子任務(wù)數(shù)量與任務(wù)樣本數(shù)相同;根據(jù)各子任務(wù)的后處理結(jié)果,確定待處理任務(wù)的任務(wù)處理結(jié)果。該方法中,對多個子任務(wù)是并行進(jìn)行前處理,以及對多個子任務(wù)計算結(jié)果是并行進(jìn)行后處理的,這樣能夠提高第一處理器的利用率;并且調(diào)用第二處理器按照任務(wù)樣本數(shù)對各子任務(wù)的前處理結(jié)果進(jìn)行輪循計算,與對各子任務(wù)計算結(jié)果進(jìn)行并行后處理是同時進(jìn)行的,這樣能夠提高第二處理器的利用率。另外,第二處理器是按照任務(wù)樣本數(shù)對各子任務(wù)的前處理結(jié)果進(jìn)行計算的,這樣第二處理器可以同時對多個子任務(wù)中的數(shù)據(jù)進(jìn)行處理,能夠提高第二處理器的計算利用率。

      51、第三方面,本技術(shù)實施例還提供一種異構(gòu)系統(tǒng),包括第一處理器和第二處理器,第一處理器用于執(zhí)行如上述第一方面中任一實施例中的步驟;第二處理器,用于執(zhí)行如上述第二方面中任一實施例中的步驟。

      52、第四方面,本技術(shù)實施例還提供一種任務(wù)處理裝置,該裝置包括:

      53、前處理模塊,用于對待處理任務(wù)劃分的多個子任務(wù)并行進(jìn)行前處理;

      54、第一計算模塊,用于調(diào)用異構(gòu)系統(tǒng)中第二處理器按照任務(wù)樣本數(shù),對各子任務(wù)的前處理結(jié)果進(jìn)行輪循計算,并在每獲得一輪子任務(wù)計算結(jié)果的情況下,執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理;每輪計算的子任務(wù)數(shù)量與任務(wù)樣本數(shù)相同;

      55、第一確定模塊,用于根據(jù)各子任務(wù)的后處理結(jié)果,確定待處理任務(wù)的任務(wù)處理結(jié)果。

      56、第五方面,本技術(shù)一個實施例還提供一種任務(wù)處理裝置,該裝置包括:

      57、第二計算模塊,用于根據(jù)異構(gòu)系統(tǒng)中第一處理器的調(diào)用指示,按照任務(wù)樣本數(shù)對多個子任務(wù)的前處理結(jié)果進(jìn)行輪循計算;多個子任務(wù)是對待處理任務(wù)劃分得到的;

      58、后處理模塊,用于在每獲得一輪子任務(wù)計算結(jié)果的情況下,執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理每輪計算的子任務(wù)數(shù)量與任務(wù)樣本數(shù)相同;

      59、第二確定模塊,用于根據(jù)各子任務(wù)的后處理結(jié)果,確定待處理任務(wù)的任務(wù)處理結(jié)果。

      60、第六方面,本技術(shù)一個實施例還提供一種計算機設(shè)備,包括存儲器和處理器,存儲器存儲有計算機程序,處理器執(zhí)行計算機程序時實現(xiàn)上述第一方面和第二方面中任一實施例中的步驟。

      61、第七方面,本技術(shù)一個實施例還提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,計算機程序被處理器執(zhí)行時實現(xiàn)上述第一方面和第二方面中任一實施例中的步驟。

      62、第八方面,本技術(shù)一個實施例還提供一種計算機程序產(chǎn)品,包括計算機程序,計算機程序被處理器執(zhí)行時實現(xiàn)上述第一方面和第二方面中任一實施例中的步驟。

      63、上述任務(wù)處理方法和異構(gòu)系統(tǒng),該方法應(yīng)用于異構(gòu)系統(tǒng)中的第一處理器,通過對待處理任務(wù)劃分的多個子任務(wù)并行進(jìn)行前處理;調(diào)用異構(gòu)系統(tǒng)中第二處理器按照任務(wù)樣本數(shù),對各子任務(wù)的前處理結(jié)果進(jìn)行輪循計算,并在每獲得一輪子任務(wù)計算結(jié)果的情況下,執(zhí)行一次子任務(wù)計算結(jié)果的并行后處理;每輪計算的子任務(wù)數(shù)量與任務(wù)樣本數(shù)相同;根據(jù)各子任務(wù)的后處理結(jié)果確定待處理任務(wù)的任務(wù)處理結(jié)果。該方法中,對多個子任務(wù)是并行進(jìn)行前處理,以及對多個子任務(wù)計算結(jié)果是并行進(jìn)行后處理的,這樣能夠提高第一處理器的利用率;并且調(diào)用第二處理器按照任務(wù)樣本數(shù)對各子任務(wù)的前處理結(jié)果進(jìn)行輪循計算,與對子任務(wù)計算結(jié)果進(jìn)行并行后處理是同時進(jìn)行的,這樣能夠提高第二處理器的利用率。另外,第二處理器是按照任務(wù)樣本數(shù)對各子任務(wù)的前處理結(jié)果進(jìn)行計算的,這樣第二處理器可以同時對多個子任務(wù)中的數(shù)據(jù)進(jìn)行處理,能夠提高第二處理器的計算利用率。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1