[發明專利]程序信息的處理方法和裝置在審
| 申請號: | 201610490507.9 | 申請日: | 2016-06-28 |
| 公開(公告)號: | CN107544794A | 公開(公告)日: | 2018-01-05 |
| 發明(設計)人: | 盧興敬 | 申請(專利權)人: | 華為技術有限公司;中國科學院計算技術研究所 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司11205 | 代理人: | 宋揚,劉芳 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 程序 信息 處理 方法 裝置 | ||
技術領域
本發明實施例涉及計算機技術,尤其涉及一種程序信息的處理方法和裝置。
背景技術
圖像處理相關算法的應用領域廣泛,在移動智能終端、物聯網和人工智能等領域都有著廣泛應用。在移動智能終端方面,游戲、社交、安全和金融支付領域都會使用圖像處理相關算法;在物聯網方面,智能交通和智慧城市也經常用到圖像處理算法;在人工智能方面,例如人臉識別等技術也在最近獲得較大進步。
圖像處理算法在很多應用中有時間約束限制、實時性要求以及功耗限制,圖形處理器(英文:Graphic Processing Unit,簡稱:GPU)平臺具有強大的計算能力,同時其功耗還比較低,以GPU技術為基礎搭建的異構加速計算平臺的應用領域變得越來越廣泛,在由GPU構建的計算平臺上編寫程序,目前多使用開放平臺(英文:Compute Unified Device Architecture,簡稱:CUDA)或開放運算語言(英文:Open Computing Language,簡稱:OpenCL)編寫程序,CUDA和OpenCL均為異構并行編程模型。OpenCL可以使用在任意GPU平臺上,因此OpenCL的適應性更加廣泛,在OpenCL編程框架下,OpenCL程序分為主機端(Host)程序和加速器端(Device)程序兩個部分,用戶在開發并優化OpenCL程序的優化流程如下:由專家程序員利用OpenCL或者CUDA等底層編程語言將某個或者某類重要算法寫成高性能的算法庫,用戶在應用程序中直接調用算法庫提供的接口進行優化,根據制定的優化方案生成OpenCL代碼。或者采用用戶制導加編譯優化的技術方案,用戶給出程序在GPU平臺上的優化變換指示,由編譯器進行具體的分析變換工作,將應用程序中的能夠優化的程序代碼生成對應的OpenCL代碼。
然而,在采用上述方式進行OpenCL程序優化的實際過程中,每個優化參數值的具體確定更是需要程序員的經驗積累,OpenCL程序的優化過程是非常復雜的,通常只有經驗非常豐富的專家程序員才能寫出高效的GPU程序,對于普通程序員來講,OpenCL程序開發過于復雜,而且調試和調優也非常困難,導致OpenCL程序優化的效率和性能都比較低。
發明內容
本發明實施例提供一種程序信息的處理方法和裝置,用于解決OpenCL程序開發過于復雜,而且調試和調優也非常困難,導致OpenCL程序優化的效率和性能都比較低的問題。
本發明第一方面提供一種程序信息的處理方法,包括:
獲取待處理程序信息中的適合硬件平臺算法的至少一個算法片段;
根據預先配置的計算模式庫,為每個算法片段選擇對應的第一優化方案;
根據硬件平臺和每個算法片段對應的第一優化方案將所述至少一個算法片段轉換成OpenCL代碼。
本方案提供的技術方案中,程序信息指的是編寫的高級語言代碼,硬件平臺可以是GPU平臺或者其他的硬件處理器,對此不做限制。由硬件設備自動確定程序中的算法適合的硬件平臺和優化方案,并且考慮到程序算法本身的行為、硬件特征以及各種優化模式,自動制定針對算法的高性能優化方案,減輕程序員負擔,有效提高了程序信息處理,即優化的效率和性能。
可選的,所述硬件平臺為GPU平臺,所述獲取待處理程序信息中的適合硬件平臺算法的至少一個算法片段,包括:
將所述待處理程序信息轉換成具有高層語義的中轉程序信息;
將所述中轉程序信息中能夠滿足所述GPU平臺算法,且在主機端和加速器端滿足收益評估模型的算法程序片段作為所述至少一個算法片段。
可選的,所述根據預先配置的計算模式庫,為每個算法片段選擇對應的第一優化方案,包括:
根據預先定義的計算模式,確定每個算法片段所屬的第一計算模式;
根據每個算法片段所屬的所述第一計算模式,以及預先配置的計算模式與優化方案的映射關系,獲取每個算法片段對應的所述第一優化方案。
可選的,所述第一優化方案包括以下優化中的至少一種:并行化歸約、向量化并行、共享內存優化、局部同步優化、通信優化、向量化訪存、訪存合并優化和邊界處理向量并行化。
可選的,所述根據硬件平臺和每個算法片段對應的第一優化方案將所述至少一個算法片段轉換成開放運算語言代碼,包括:
確定算法特征參數空間和硬件平臺特征參數空間;
根據所述算法特征參數空間和所述硬件平臺特征參數空間,將每個算法片段對應的第一優化方案實例化得到第二優化方案;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司;中國科學院計算技術研究所,未經華為技術有限公司;中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610490507.9/2.html,轉載請聲明來源鉆瓜專利網。
- 信息記錄介質、信息記錄方法、信息記錄設備、信息再現方法和信息再現設備
- 信息記錄裝置、信息記錄方法、信息記錄介質、信息復制裝置和信息復制方法
- 信息記錄裝置、信息再現裝置、信息記錄方法、信息再現方法、信息記錄程序、信息再現程序、以及信息記錄介質
- 信息記錄裝置、信息再現裝置、信息記錄方法、信息再現方法、信息記錄程序、信息再現程序、以及信息記錄介質
- 信息記錄設備、信息重放設備、信息記錄方法、信息重放方法、以及信息記錄介質
- 信息存儲介質、信息記錄方法、信息重放方法、信息記錄設備、以及信息重放設備
- 信息存儲介質、信息記錄方法、信息回放方法、信息記錄設備和信息回放設備
- 信息記錄介質、信息記錄方法、信息記錄裝置、信息再現方法和信息再現裝置
- 信息終端,信息終端的信息呈現方法和信息呈現程序
- 信息創建、信息發送方法及信息創建、信息發送裝置





