[發明專利]一種基于GPU片上的數據處理方法及設備有效
| 申請號: | 201710206474.5 | 申請日: | 2017-03-31 |
| 公開(公告)號: | CN106991007B | 公開(公告)日: | 2019-09-03 |
| 發明(設計)人: | 計曉斐;李建波;劉亮 | 申請(專利權)人: | 青島大學 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 青島清泰聯信知識產權代理有限公司 37256 | 代理人: | 高洋 |
| 地址: | 266071 *** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 gpu 數據處理 方法 | ||
本申請涉及一種基于GPU片上的數據處理方法,包括以下步驟:分析GPU程序代碼,統計當前GPU片上共享存儲空間的所有數組變量;將統計得到的所有數組變量按訪問次數排序;選擇訪問次數最高的數組變量從共享存儲空間遷移到寄存器或L1緩存;若遷移后的系統性能優于遷移前的性能,則從共享存儲空間中遷移出更多的數組變量,否則終止。該方法可以對GPU程序的性能進行一定的提升,尤其適用于大數據領域。
技術領域
本發明是關于計算機領域,具體涉及數據分析和并行計算領域,尤其涉及一種基于GPU片上的數據處理方法。
背景技術
GPU早期用于圖形處理,之后逐漸用于一般的計算任務,利用GPU的眾核特性進行并行計算,加速任務處理。雖然GPU的每個性能在計算能力上弱于CPU 的性能,但其內核數量遠多于CPU內核。實驗表明,對于一般可并行的計算任務而言,GPU的性能可達到CPU的數十倍。由于GPU結構的特殊性,一般用于對可高度并行的任務進行加速,而對于其他任務的加速效果可能尚不足以彌補 CPU與GPU之間轉換所消耗的代價。通常情況下,在多數實際系統部署中,任務處理以CPU為主,其中可高度并行的部分使用GPU處理,提高任務處理速度。
由于GPU的計算吞吐率的增長速度遠大于其片下存儲帶寬的增長,因此要充分合理的利用片上存儲才能有效的利用GPU的計算資源。不同GPU片上存儲的容量增長速度不同,如寄存器文件的容量增長速度比共享資源的容量增長速度快很多,因此在一個GPU上的最優化執行代碼并不一定適用于其他GPU。現有的GPU程序性能優化方法主要通過修改GPU程序代碼,受限于應用程序類別和GPU設備參數,該優化方法的通用性和可移植性較差。
對于應用開發者而言,手動調節片上存儲的問題主要表現在:一是GPU的三類片上存儲均對性能有所影響,但對于某個應用中指定的數據元素而言,很難確定合適的片上存儲資源的分配情況;二是不同時期GPU之間資源的發展是非線性的,因此不同GPU的最優化片上資源使用情況也不同。
發明內容
本發明提出一種GPU片上的數據處理方法,對給定的GPU程序自動進行片上存儲空間的優化,從而提高GPU程序的處理性能。
為了達到上述目的,本發明采用的技術方案為:
一種基于GPU片上的數據處理方法,包括以下步驟:分析GPU程序代碼,統計當前GPU片上共享存儲空間的所有數組變量;將統計得到的所有數組變量按訪問次數排序;選擇訪問次數最高的數組變量從共享存儲空間遷移到寄存器或L1緩存;若遷移后的系統性能優于遷移前的性能,則從共享存儲空間中遷移出更多的數組變量,否則終止。
優選的,統計當前GPU片上共享存儲空間的所有數組變量,包括采用變量統計流程(CollectArray)統計當前GPU程序中存儲在片上共享存儲空間的所有數組變量。
優選的,變量統計流程(CollectArray)包括:分析編程序代碼;找出其中所有存儲在片上共享存儲空間內的數組變量,記為SMArray。
優選的,統計當前GPU片上共享存儲空間的所有數組變量,包括采用參數統計流程(Collectlnfo)統計每個共享存儲數組變量的相關參數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于青島大學,未經青島大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710206474.5/2.html,轉載請聲明來源鉆瓜專利網。





