[發(fā)明專利]一種基于OpenCL內(nèi)核任務的調(diào)度方法有效
| 申請?zhí)枺?/td> | 201811231275.0 | 申請日: | 2018-10-22 |
| 公開(公告)號: | CN109542596B | 公開(公告)日: | 2023-09-12 |
| 發(fā)明(設計)人: | 朱正東;張小雨;韓靖雯;李少輝;郭輝;李小軒;王鵬博;田靖軒 | 申請(專利權(quán))人: | 西安交通大學 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50;G06N20/00 |
| 代理公司: | 西安通大專利代理有限責任公司 61200 | 代理人: | 王艾華 |
| 地址: | 710049 陜*** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 opencl 內(nèi)核 任務 調(diào)度 方法 | ||
1.一種基于OpenCL內(nèi)核任務的調(diào)度方法,其特征在于,框架中對于輸入的每個OpenCL內(nèi)核任務,在編譯階段生成其二進制文件,并得到AST抽象語法樹,通過LLVM編譯器從AST抽象語法樹中分析抽取OpenCL內(nèi)核靜態(tài)代碼特征,再經(jīng)運行階段得到動態(tài)代碼特征,其中為了避免出現(xiàn)過擬合現(xiàn)象,使用Greedy?Feature?Selection算法對選出來的特征進行排序,選出最重要特征,然后利用機器學習的SVM分類器預測得到任務劃分比例,比例值是處于0到10之間的整數(shù),最后將輸入的OpenCL內(nèi)核任務按照預測得到的劃分比例值以Baseline調(diào)度算法調(diào)度到實際可用的設備CPU或GPU上,但對于有明顯傾向的任務,得到的劃分比例是9,表明該任務傾向于在GPU上執(zhí)行,就按照添加了閾值機制的BIAS算法調(diào)度到具體的設備上;添加了閾值機制的BIAS算法,通過定義閾值使具有明顯偏向特征的任務,即偏向在CPU或GPU上執(zhí)行,避免跨設備共同執(zhí)行的多余開銷,不按照劃分比例執(zhí)行,直接調(diào)度到單類設備上執(zhí)行,根據(jù)實驗經(jīng)驗設置閾值上界和閾值下界,當系統(tǒng)中兩種設備都可用時,先將任務的執(zhí)行模式設置為CPU和GPU共同執(zhí)行,之后根據(jù)閾值的上下界確定實際使用的調(diào)用模式,若其中一個任務的劃分比例小于等于閾值下界,將其完全調(diào)度到CPU上執(zhí)行;當其劃分比例比例大于等于閾值上界,將其全調(diào)度到GPU上執(zhí)行,當系統(tǒng)中只有一個設備可用時,以Baseline算法執(zhí)行。
2.根據(jù)權(quán)利要求1所述的一種基于OpenCL內(nèi)核任務的調(diào)度方法,其特征在于,所述的通過LLVM編譯器從AST抽象語法樹中分析抽取OpenCL內(nèi)核靜態(tài)代碼特征,是基于Clang和LLVM完成的,將特征抽取分為編譯階段特征抽取與運行時階段特征抽取,在編譯階段特征抽取中,OpenCL內(nèi)核程序通過Clang生成一棵AST抽象語法樹,遍歷AST,抽取代碼靜態(tài)特征,浮點運算操作、定點運算操作、內(nèi)存訪問操作、OpenCL內(nèi)建函數(shù);在運行時階段,抽取運行時特征,問題大小特征,主機與內(nèi)存之間的數(shù)據(jù)轉(zhuǎn)換、全局工作項數(shù)目。
3.根據(jù)權(quán)利要求1所述的一種基于OpenCL內(nèi)核任務的調(diào)度方法,其特征在于,所述的為了避免出現(xiàn)過擬合現(xiàn)象,使用Greedy?Feature?Selection算法對選出來的特征進行排序,選出最重要的幾個特征,過程為所有的特征集為S,單個特征s∈S,已選擇的特征集F,給F定義一個最小的錯誤mse,從S中抽取一個s,加入到F中,訓練新的F,若mse減小,則確定將該特征加入F,并由mse值對其F中的特征進行排序,其中用SVM(support?vector?machine)完成這個貪心算法的訓練。
4.根據(jù)權(quán)利要求1所述的一種基于OpenCL內(nèi)核任務的調(diào)度方法,其特征在于,所述的基于機器學習的分類器預測得到任務劃分比例,將選出來的幾個重要特征作為輸入,使用靜態(tài)分類器,預測得到任務劃分比例p值,p代表計算量數(shù)據(jù)空間的分配,代表任務在CPU/GPU上執(zhí)行的比例,如,0代表完全在CPU上執(zhí)行,10代表完全在GPU上執(zhí)行,0與10之間的p值代表在CPU-GPU上同時執(zhí)行。
5.根據(jù)權(quán)利要求1所述的一種基于OpenCL內(nèi)核任務的調(diào)度方法,其特征在于,所述的基于Baseline調(diào)度算法,該算法中定義了三種任務隊列C、G、M,分別表示任務只在CPU或者GPU或者單個CPU與GPU之間執(zhí)行,在算法執(zhí)行過程中,若兩種設備類型都處于空閑狀態(tài),就從等待隊列Q中選擇一個任務,將其調(diào)度模式改為CPU-GPU混合模式后執(zhí)行調(diào)度;若只有一個設備可用,從隊列Q中選擇一個任務,將調(diào)度模式改為在空閑GPU或在CPU上調(diào)度執(zhí)行。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西安交通大學,未經(jīng)西安交通大學許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811231275.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





