欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

設(shè)備隊列的執(zhí)行方法、裝置、計算機設(shè)備、介質(zhì)和產(chǎn)品與流程

文檔序號:40652098發(fā)布日期:2025-01-10 18:58閱讀:3來源:國知局
設(shè)備隊列的執(zhí)行方法、裝置、計算機設(shè)備、介質(zhì)和產(chǎn)品與流程

本技術(shù)涉及計算機,特別是涉及一種設(shè)備隊列的執(zhí)行方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品。


背景技術(shù):

1、開放式的計算語言平臺opencl(open?computing?language)可以編寫核函數(shù)kernel,類似于c語言,并且還提供了控制平臺的應用程序編程接口(applicationprogramming?interface,api)。opencl是一個跨系統(tǒng)的異構(gòu)平臺,可以支持windows、linux、android等各種操作系統(tǒng)。通過opencl編譯器編譯源代碼生成主機程序和內(nèi)核調(diào)用程序,從而實現(xiàn)對隊列中多個內(nèi)核的調(diào)用。

2、傳統(tǒng)技術(shù)中,當主機程序啟動設(shè)備程序工作時,由主機程序進入隊列,然后按照隊列中的內(nèi)核順序執(zhí)行,每執(zhí)行完一個內(nèi)核,則返回到主機程序,然后由主機程序調(diào)用隊列中的下一個內(nèi)核。

3、然而,上述傳統(tǒng)的方式不適用于頻繁調(diào)用內(nèi)核的場景,內(nèi)核調(diào)用效率低。


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

1、基于此,有必要針對上述技術(shù)問題,提供一種能夠適用于頻繁調(diào)用內(nèi)核的場景,并且能夠顯著提高內(nèi)核調(diào)用效率的設(shè)備隊列的執(zhí)行方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品。

2、第一方面,本技術(shù)提供了一種設(shè)備隊列的執(zhí)行方法,包括:

3、從設(shè)備隊列緩存中提取父內(nèi)核的設(shè)備隊列接口,并確定所述父內(nèi)核和所述父內(nèi)核下各個子內(nèi)核的執(zhí)行順序;

4、根據(jù)所述父內(nèi)核和所述父內(nèi)核下各個子內(nèi)核的執(zhí)行順序,將各個子內(nèi)核的設(shè)備隊列接口寫入到所述設(shè)備隊列緩存中,得到更新后的設(shè)備隊列緩存;

5、根據(jù)所述父內(nèi)核的設(shè)備隊列接口,生成父內(nèi)核的啟動指令,并通過所述父內(nèi)核的啟動指令指示異構(gòu)設(shè)備中的執(zhí)行單元執(zhí)行所述父內(nèi)核的內(nèi)核程序;

6、通過所述父內(nèi)核的內(nèi)核程序,從所述更新后的設(shè)備隊列緩存中讀取子內(nèi)核的設(shè)備隊列接口,并根據(jù)所述子內(nèi)核的設(shè)備隊列接口生成子內(nèi)核的啟動指令;

7、通過所述子內(nèi)核的啟動指令指示異構(gòu)設(shè)備中的執(zhí)行單元執(zhí)行所述子內(nèi)核的內(nèi)核程序。

8、在其中一個實施例中,在從設(shè)備隊列緩存中提取父內(nèi)核的設(shè)備隊列接口之前,所述方法還包括:

9、通過驅(qū)動程序調(diào)用opencl編譯器編譯源代碼,生成設(shè)備隊列的可執(zhí)行程序;

10、對所述設(shè)備隊列的可執(zhí)行程序進行解析,判斷所述設(shè)備隊列的可執(zhí)行程序中是否存在設(shè)備隊列特性,其中,所述設(shè)備隊列特性是指:允許父內(nèi)核的內(nèi)核程序在設(shè)備隊列中增加子內(nèi)核,并允許父內(nèi)核的內(nèi)核程序調(diào)用子內(nèi)核的內(nèi)核程序;

11、若存在設(shè)備隊列特性,則在顯存中構(gòu)建設(shè)備隊列緩存,其中,所述設(shè)備隊列緩存用于存儲設(shè)備隊列接口。

12、在其中一個實施例中,所述父內(nèi)核的設(shè)備隊列接口中包含啟動內(nèi)核的信息,所述啟動內(nèi)核的信息包括:子內(nèi)核的地址信息,事件信息,內(nèi)核函數(shù),以及執(zhí)行內(nèi)核程序的時間戳。

13、在其中一個實施例中,所述通過驅(qū)動程序調(diào)用opencl編譯器編譯源代碼,生成設(shè)備隊列的可執(zhí)行程序,包括:

14、根據(jù)設(shè)備隊列的內(nèi)核函數(shù),建立設(shè)備隊列接口表,其中,所述設(shè)備隊列接口表中存儲的信息包括:設(shè)備隊列接口在設(shè)備隊列緩存中的大小,啟動索引,共享內(nèi)存大小,事件偏移,全局工作組,工作組大小,全局工作偏移,工作組偏移,參數(shù)信息,共享內(nèi)存偏移中的任一種或者兩種及以上組合;

15、根據(jù)所述設(shè)備隊列接口表,收集不同內(nèi)核之間的依賴信息;

16、根據(jù)事件信息對所述依賴信息進行分析,并根據(jù)分析結(jié)果更新所述依賴信息,得到更新后的依賴信息;

17、根據(jù)更新后的依賴信息,建立不同內(nèi)核之間的依賴關(guān)系,其中,所述依賴關(guān)系包括:父內(nèi)核與子內(nèi)核之間的關(guān)系,同一父內(nèi)核下子內(nèi)核與子內(nèi)核之間的關(guān)系;

18、根據(jù)不同內(nèi)核之間的依賴關(guān)系和設(shè)備隊列接口表中存儲的信息,生成設(shè)備隊列的可執(zhí)行程序。

19、在其中一個實施例中,確定所述父內(nèi)核和所述父內(nèi)核下各個子內(nèi)核的執(zhí)行順序,包括:

20、根據(jù)不同內(nèi)核之間的依賴關(guān)系設(shè)置各個子內(nèi)核對應的標識,其中,所述標識用于指示父內(nèi)核和子內(nèi)核的執(zhí)行方式,所述執(zhí)行方式包括:子內(nèi)核與父內(nèi)核并行,子內(nèi)核等待父內(nèi)核執(zhí)行完畢后再執(zhí)行,子內(nèi)核等待父內(nèi)核下的子內(nèi)核工作組執(zhí)行完畢后再執(zhí)行;

21、根據(jù)所述標識來確定所述父內(nèi)核和所述父內(nèi)核下各個子內(nèi)核的執(zhí)行順序。

22、在其中一個實施例中,在通過所述父內(nèi)核的內(nèi)核程序,從所述更新后的設(shè)備隊列緩存中讀取子內(nèi)核的設(shè)備隊列接口之前,所述方法還包括:

23、在所述父內(nèi)核的內(nèi)核程序執(zhí)行過程中,根據(jù)事件信息確定需要調(diào)用的子內(nèi)核。

24、在其中一個實施例中,在通過所述父內(nèi)核的啟動指令指示異構(gòu)設(shè)備中的執(zhí)行單元執(zhí)行所述父內(nèi)核的內(nèi)核程序的過程中,所述方法還包括:

25、更新所述子內(nèi)核的設(shè)備隊列接口,其中,所述子內(nèi)核的設(shè)備隊列接口中的信息包括:子內(nèi)核的指令位置,子內(nèi)核的參數(shù)。

26、第二方面,本技術(shù)還提供了一種設(shè)備隊列的執(zhí)行裝置,所述裝置包括:

27、確定模塊,用于從設(shè)備隊列緩存中提取父內(nèi)核的設(shè)備隊列接口,并確定所述父內(nèi)核和所述父內(nèi)核下各個子內(nèi)核的執(zhí)行順序;

28、寫入模塊,用于根據(jù)所述父內(nèi)核和所述父內(nèi)核下各個子內(nèi)核的執(zhí)行順序,將各個子內(nèi)核的設(shè)備隊列接口寫入到所述設(shè)備隊列緩存中,得到更新后的設(shè)備隊列緩存;

29、執(zhí)行模塊,用于根據(jù)所述父內(nèi)核的設(shè)備隊列接口,生成父內(nèi)核的啟動指令,并通過所述父內(nèi)核的啟動指令指示異構(gòu)設(shè)備中的執(zhí)行單元執(zhí)行所述父內(nèi)核的內(nèi)核程序;

30、讀取模塊,用于通過所述父內(nèi)核的內(nèi)核程序,從所述更新后的設(shè)備隊列緩存中讀取子內(nèi)核的設(shè)備隊列接口,并根據(jù)所述子內(nèi)核的設(shè)備隊列接口生成子內(nèi)核的啟動指令;

31、執(zhí)行模塊,還用于通過所述子內(nèi)核的啟動指令指示異構(gòu)設(shè)備中的執(zhí)行單元執(zhí)行所述子內(nèi)核的內(nèi)核程序。

32、第三方面,本技術(shù)還提供了一種計算機設(shè)備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)以下步驟:

33、從設(shè)備隊列緩存中提取父內(nèi)核的設(shè)備隊列接口,并確定所述父內(nèi)核和所述父內(nèi)核下各個子內(nèi)核的執(zhí)行順序;

34、根據(jù)所述父內(nèi)核和所述父內(nèi)核下各個子內(nèi)核的執(zhí)行順序,將各個子內(nèi)核的設(shè)備隊列接口寫入到所述設(shè)備隊列緩存中,得到更新后的設(shè)備隊列緩存;

35、根據(jù)所述父內(nèi)核的設(shè)備隊列接口,生成父內(nèi)核的啟動指令,并通過所述父內(nèi)核的啟動指令指示異構(gòu)設(shè)備中的執(zhí)行單元執(zhí)行所述父內(nèi)核的內(nèi)核程序;

36、通過所述父內(nèi)核的內(nèi)核程序,從所述更新后的設(shè)備隊列緩存中讀取子內(nèi)核的設(shè)備隊列接口,并根據(jù)所述子內(nèi)核的設(shè)備隊列接口生成子內(nèi)核的啟動指令;

37、通過所述子內(nèi)核的啟動指令指示異構(gòu)設(shè)備中的執(zhí)行單元執(zhí)行所述子內(nèi)核的內(nèi)核程序。

38、第四方面,本技術(shù)還提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)以下步驟:

39、從設(shè)備隊列緩存中提取父內(nèi)核的設(shè)備隊列接口,并確定所述父內(nèi)核和所述父內(nèi)核下各個子內(nèi)核的執(zhí)行順序;

40、根據(jù)所述父內(nèi)核和所述父內(nèi)核下各個子內(nèi)核的執(zhí)行順序,將各個子內(nèi)核的設(shè)備隊列接口寫入到所述設(shè)備隊列緩存中,得到更新后的設(shè)備隊列緩存;

41、根據(jù)所述父內(nèi)核的設(shè)備隊列接口,生成父內(nèi)核的啟動指令,并通過所述父內(nèi)核的啟動指令指示異構(gòu)設(shè)備中的執(zhí)行單元執(zhí)行所述父內(nèi)核的內(nèi)核程序;

42、通過所述父內(nèi)核的內(nèi)核程序,從所述更新后的設(shè)備隊列緩存中讀取子內(nèi)核的設(shè)備隊列接口,并根據(jù)所述子內(nèi)核的設(shè)備隊列接口生成子內(nèi)核的啟動指令;

43、通過所述子內(nèi)核的啟動指令指示異構(gòu)設(shè)備中的執(zhí)行單元執(zhí)行所述子內(nèi)核的內(nèi)核程序。

44、第五方面,本技術(shù)還提供了一種計算機程序產(chǎn)品,包括計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)以下步驟:

45、從設(shè)備隊列緩存中提取父內(nèi)核的設(shè)備隊列接口,并確定所述父內(nèi)核和所述父內(nèi)核下各個子內(nèi)核的執(zhí)行順序;

46、根據(jù)所述父內(nèi)核和所述父內(nèi)核下各個子內(nèi)核的執(zhí)行順序,將各個子內(nèi)核的設(shè)備隊列接口寫入到所述設(shè)備隊列緩存中,得到更新后的設(shè)備隊列緩存;

47、根據(jù)所述父內(nèi)核的設(shè)備隊列接口,生成父內(nèi)核的啟動指令,并通過所述父內(nèi)核的啟動指令指示異構(gòu)設(shè)備中的執(zhí)行單元執(zhí)行所述父內(nèi)核的內(nèi)核程序;

48、通過所述父內(nèi)核的內(nèi)核程序,從所述更新后的設(shè)備隊列緩存中讀取子內(nèi)核的設(shè)備隊列接口,并根據(jù)所述子內(nèi)核的設(shè)備隊列接口生成子內(nèi)核的啟動指令;

49、通過所述子內(nèi)核的啟動指令指示異構(gòu)設(shè)備中的執(zhí)行單元執(zhí)行所述子內(nèi)核的內(nèi)核程序。

50、上述設(shè)備隊列的執(zhí)行方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品,通過該從設(shè)備隊列緩存中提取父內(nèi)核的設(shè)備隊列接口,并確定所述父內(nèi)核和所述父內(nèi)核下各個子內(nèi)核的執(zhí)行順序;從而可以使用緩存來存儲內(nèi)核的設(shè)備隊列接口信息,靈活地變更父內(nèi)核與子內(nèi)核之間的執(zhí)行順序,適用于頻繁調(diào)用內(nèi)核的場景。根據(jù)所述父內(nèi)核和所述父內(nèi)核下各個子內(nèi)核的執(zhí)行順序,將各個子內(nèi)核的設(shè)備隊列接口寫入到所述設(shè)備隊列緩存中,得到更新后的設(shè)備隊列緩存;從而可以利用緩存來記錄子內(nèi)核的設(shè)備隊列接口信息,以便于后續(xù)由父內(nèi)核的內(nèi)核程序自由調(diào)度子內(nèi)核,無需返回主程序,提升了內(nèi)核調(diào)度的效率。根據(jù)所述父內(nèi)核的設(shè)備隊列接口,生成父內(nèi)核的啟動指令,并通過所述父內(nèi)核的啟動指令指示異構(gòu)設(shè)備中的執(zhí)行單元執(zhí)行所述父內(nèi)核的內(nèi)核程序;從而使得異構(gòu)設(shè)備可以快速地啟動父內(nèi)核的內(nèi)核程序。通過所述父內(nèi)核的內(nèi)核程序,從所述更新后的設(shè)備隊列緩存中讀取子內(nèi)核的設(shè)備隊列接口,并根據(jù)所述子內(nèi)核的設(shè)備隊列接口生成子內(nèi)核的啟動指令;從而可以由父內(nèi)核靈活調(diào)取其下子內(nèi)核的內(nèi)核程序。通過所述子內(nèi)核的啟動指令指示異構(gòu)設(shè)備中的執(zhí)行單元執(zhí)行所述子內(nèi)核的內(nèi)核程序。從而在不增加硬件的基礎(chǔ)上,很好地適配了opencl2.0的設(shè)備隊列特性,能夠適用于頻繁調(diào)用內(nèi)核的場景,并且能夠顯著提高內(nèi)核調(diào)用效率,易于在不同的異構(gòu)設(shè)備中進行擴展使用。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
和田县| 阳新县| 怀柔区| 页游| 盖州市| 清原| 古浪县| 海伦市| 融水| 石城县| 乃东县| 盐池县| 尚志市| 彭州市| 五台县| 彭阳县| 安阳县| 屯留县| 金华市| 垣曲县| 上思县| 湖州市| 耒阳市| 芜湖县| 许昌市| 安阳市| 东兰县| 湘乡市| 远安县| 舟曲县| 宁陵县| 左贡县| 南江县| 台湾省| 嘉鱼县| 海丰县| 内黄县| 汤阴县| 从江县| 义乌市| 和平区|