【摘 要】 介紹GPU的計算方法,指出Web圖像搜索的存在諸多問題,分析GPU用于信息檢索的方法,說明GPU在信息檢索領域的應用價值。
【關鍵詞】 GPU 信息檢索 CUDA
前言
多媒體技術與多媒體網絡,為當前信息時代提供文字、數據、語音、圖形、圖像和音樂等多種信息方式,計算機在處理信息時所面臨的主要問題是如何合理提高檢索速度,實現多媒體信息流的結構化,方便檢索。人們曾經將圖形、視頻等需要大量運算的功能都交與CPU完成,但用戶對圖形計算方面的需求不斷的超出了CPU在計算能力方面的發展速度,需要一個專門的圖形的核心處理器。GPU的出現填補這一空缺,它是相對于CPU的一個概念,GPU英文全稱Graphic Processing Unit, “圖形處理器”。 GPU是顯示卡的“大腦”, GPU具有強大的計算能力,它將能處理的問題由圖形領域擴展到了通用計算領域[1]。使可編程圖像處理器發展成為計算技術領域的主力,與CPU上的串行算法相比,采用基于GPU平臺檢索算法最高可獲得百倍以上的性能提升。已經沖擊并超越CPU獨霸的地位。
1. GPU的計算方法
在繪制圖像時,GPU首先接收宿主系統以三角頂點形式發送的幾何數據。這些數據由一個可編程的頂點處理器進行處理,該處理器進行幾何變換、亮度計算等任何三角形計算。然后,這些三角形由光柵器轉換成能夠顯示在屏幕上的單獨“碎片”,所有碎片都通過可編程碎片處理器計算最終顏色值[2]。由于GPU具有高效的并行性和靈活的可編程性等特點,越來越多的研究人員和商業組織開始利用GPU完成一些非圖形繪制方面的計算,并開創了新的研究領域:GPGPU(通用計算圖形處理單元),實現如何利用GPU進行更為廣泛的科學計算[4]。借助這些軟件和GPU,軟件開發人員可以基于CUDA平臺開發計算軟件,用戶可以用比以往少得多的時間完成很多計算任務。能夠基于GPU平臺排序及線性方程組求解,實現并行的搜索算法[5],離散優化等科學計算。GPU在處理大尺寸圖像時具有絕對的優勢。例如在8192×8192尺寸圖像的直方圖生成中,排除內存分配、讀回的時間和數據加載后,GPU的核心時間消耗僅為19ms左右,計算效率是CPU的17倍還多。
2. 基于關鍵詞的Web圖像搜索
信息檢索技術是現在計算機領域的重要內容,而圖像檢索技術又是其中的重要內容之一。圖像搜索是通過抽取網頁中存在的圖像信息并建立索引供用戶查詢的技術。基于關鍵詞的圖像搜索是指從信息頁中抽取出圖像的文字性語義描述,利用分類器進行計算所述圖像集合中每幅圖像與所述待檢索語義之間的相關度,并進行加工整理和建立索引的搜索方式。
3. 基于GPU平臺的檢索方法
GPU作為一種加速工具不但應用到高性能通用計算領域,也可應用于Web圖像搜索領域。 在文本索引中兩有個關鍵算法:排序和查找。GPU上都能實現。對于排序算法,首先通過CPU的快速排序方法把等待排序的數據分成多個子序列,然后根據文本索引中數據結構的特點,在GPU上對子序列進行局部排序。完成在共享存儲器和顯存上的歸并過程。GPU上的查詢主要利用GPU的SIMT的特點實現多數據并行查詢。 基于GPU平臺的信息檢索過程為:一 通過分析圖像搜索系統中模塊的執行流程,在CPU-GPU集群服務器上可以構建基于內容的圖像搜索系統。 二 利用GPU上的圖像文本語義抽取功能把信息分成多個塊, 利用信息子塊的視覺局部特征和屬性提示來進一步精確提取圖像的文本語義信息。三 對GPU上數據處理流程及編程模型在顯存中構建層次型數據。四 以數據流控制降低CPU相對GPU的數據處理速度的落差。五 利用GPU的優化特性,采用自適應線程分配的方法完成由線程到數據的映射。基于GPU的信息抽取算法方法,能夠使圖像的文本語義信息描述更加細致完整,系統的功能和性能獲得很大提升。
4. 結論與展望
GPU已經突破了很多技術屏障,在信息檢索、數據挖掘計算機病毒碼匹配和生物基因技術領域中都有應用。相對于CPU,以同樣的市場價格選用更高計算能力的GPU是可行的。支持CUDA的GPU可以成為是由若干個向量處理器組成的超級計算機。GPU 的架構還會不斷優化,被越來越多的大型計算采用,在以后的研究中還要對GPU的分支預測能力進行分析,建立簡單的GPU性能模型,對于復雜的分支預測、控制流、數據流等方面,開發適合GPU的算法,以此來充分發揮GPU在圖像搜索領域的檢索能力。
※基金項目:吉林省教育廳“十二五”科學技術研究基金資助項目(吉教科合字[2012]第371號)
參考文獻:
[1] Macedonia M. The GPU Enters Computing's Mainstream[C]. IEEE Computer. Michael Macedonia,2003, 36(10):106~108.
[2] 吳恩華.圖形處理器用于通用計算的技術、現狀及其挑戰[J].軟件學報,2004,15(10):1493-1504.
[3] Mark W R,Glanville R S,Akeley K.A system for Programming Graphics Hardware in a C-like Language[J].ACM Trans Graph,2003,22(3):896-907.
[4] John D. Owens1, David Luebke, et al. A Survey of General-Purpose Computation on Graphics Hardware [J].Computer Graphics ,2007,26 (2) : 80-113.
[5] Nadathur Satis. Designing Effcient Sorting Algorithms for Manycore GPU [J].IEEE International Parallel and Distributed Processing Symposium, May 2009,23(2) 655-660.
(作者單位:吉林工商學院 信息工程分院)
China’s foreign Trade·下半月2012年12期