本實(shí)用新型涉及圖像處理硬件設(shè)備領(lǐng)域,尤其是一種GPU陣列計(jì)算系統(tǒng)。
背景技術(shù):
信息科技經(jīng)過60多年的發(fā)展,已滲透到各行業(yè)的方方面面。政治、經(jīng)濟(jì)活動(dòng)中很大一部分的活動(dòng)都與數(shù)據(jù)的創(chuàng)造、采集、傳輸和使用相關(guān),隨著網(wǎng)絡(luò)應(yīng)用日益深化,大數(shù)據(jù)應(yīng)用的影響日益擴(kuò)大。大數(shù)據(jù)可來自各種各樣的來源:傳感器、氣候信息、公開的信息、如雜志、報(bào)紙、文章、購買交易記錄、網(wǎng)絡(luò)日志、病歷、事監(jiān)控、視頻和圖像檔案及大型電子商務(wù)等。大數(shù)據(jù)指的是大小超出常規(guī)的數(shù)據(jù)工具獲取、存儲(chǔ)、管理和分析能力的數(shù)據(jù)集,通常是萬億或EB的大小。
圖像大數(shù)據(jù)的一個(gè)大數(shù)據(jù)的一個(gè)重要組成部分。1999-2000 年間,計(jì)算機(jī)科學(xué)家,與諸如醫(yī)療成像和電磁等領(lǐng)域的研究人員,開始使用GPU( 圖形處理器) 來運(yùn)行通用計(jì)算應(yīng)用程序。他們發(fā)現(xiàn)GPU( 圖形處理器) 具備的卓越浮點(diǎn)性能可為眾多科學(xué)應(yīng)用程序帶來顯著的性能提升。這一發(fā)現(xiàn)掀起了被稱作GPGPU( 圖形處理器通用計(jì)算) 的浪潮。
GPU 的處理核心SP 基于傳統(tǒng)的處理器核心設(shè)計(jì),能夠進(jìn)行整數(shù),浮點(diǎn)計(jì)算,邏輯運(yùn)算等操作,從硬體設(shè)計(jì)上看就是一種完全為多線程設(shè)計(jì)的處理核心,擁有復(fù)數(shù)的管線平臺(tái)設(shè)計(jì),完全勝任每線程處理單指令的工作。
GPU 內(nèi)的線程分成多種,包括像素、幾何以及運(yùn)算三種不同的類型,在三維圖像處理模式下,大量的線程同時(shí)處理一個(gè)渲染以達(dá)到最大化的效率,所以像GTX 200 GPU的核心內(nèi)很大一部分面積都作為計(jì)算之用,和CPU 上大部分面積都被緩存所占據(jù)有所不同,大約估計(jì)在CPU 上有20%的晶體管是用作運(yùn)算之用的,而GTX200 GPU 上有80%的晶體管用作運(yùn)算。GPU 處理的首要目標(biāo)是運(yùn)算以及數(shù)據(jù)吞吐量,而CPU 內(nèi)部晶體管的首要目的是降低處理的延時(shí)以及保持管線繁忙,這也決定了GPU 在密集行計(jì)算比起CPU 來更有優(yōu)勢。
隨著顯卡的發(fā)展,GPU 越來越強(qiáng)大,而且GPU 為顯示圖像做了優(yōu)化。在計(jì)算上已經(jīng)超越了通用的CPU。如此強(qiáng)大的芯片如果只是作為顯卡就太浪費(fèi)了,因此,不少公司推出了新的GPGPU架構(gòu)(如NVIDIA 公司推出的CUDA,美國SGI公司推出的OpenGL等),讓顯卡可以用于圖像計(jì)算以外的目的,讓顯卡可以用于圖像計(jì)算以外的目的。
目前淘寶等流行電子商務(wù)平臺(tái)配備了專門的圖像服務(wù)器來進(jìn)行圖像大數(shù)據(jù)處理,使得用戶只需通過手機(jī)掃描實(shí)物以及將掃描的圖片信息上傳給圖像服務(wù)器就能方便地找出相關(guān)聯(lián)的類似圖片,然而這類圖像服務(wù)器的結(jié)構(gòu)大多較為復(fù)雜,硬件成本較高,不適合小型商家使用,而且其處理速度有待進(jìn)一步提升。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問題,本實(shí)用新型的目的在于:提供一種硬件成本低且快速的GPU陣列計(jì)算系統(tǒng)。
本實(shí)用新型所采取的技術(shù)方案是:
一種GPU陣列計(jì)算系統(tǒng),包括應(yīng)用層、Mapreduce接口、API接口、云服務(wù)器和GPU陣列,所述GPU陣列由多個(gè)GPU并聯(lián)而成,所述應(yīng)用層分別與Mapreduce接口和API接口連接,所述API接口還與云服務(wù)器連接,所述云服務(wù)器和Mapreduce接口還均與GPU陣列連接。
進(jìn)一步,所述GPU包括全局內(nèi)存、二級緩沖存儲(chǔ)器、紋理內(nèi)存緩沖存儲(chǔ)器、常量內(nèi)存緩沖存儲(chǔ)器和一級緩沖存儲(chǔ)器、對稱多處理器、流處理器陣列、寄存器文件、共享內(nèi)存和協(xié)處理器,所述全局內(nèi)存分別與云服務(wù)器、Mapreduce接口和二級緩沖存儲(chǔ)器連接,所述二級緩沖存儲(chǔ)器還分別與紋理內(nèi)存緩沖存儲(chǔ)器、常量內(nèi)存緩沖存儲(chǔ)器和一級緩沖存儲(chǔ)器連接,所述紋理內(nèi)存緩沖存儲(chǔ)器、常量內(nèi)存緩沖存儲(chǔ)器和一級緩沖存儲(chǔ)器還均與對稱多處理器連接,所述對稱多處理器還分別與共享內(nèi)存以及流處理器陣列連接,所述流處理器陣列的輸出端分別與寄存器文件的輸入端以及協(xié)處理器的輸入端連接。
進(jìn)一步,所述GPU還分別連接有硬盤和內(nèi)存。
進(jìn)一步,所述GPU還設(shè)有GDDR接口,所述GDDR接口與全局內(nèi)存連接。
進(jìn)一步,還包括電源,所述電源分別為Mapreduce接口、API接口、GPU和內(nèi)存供電。
進(jìn)一步,所述流處理器陣列包括第一流處理器、第二流處理器、第三流處理器、第四流處理器、第五流處理器和第六流處理器,所述第一流處理器和第四流處理器均與對稱多處理器連接,所述第一流處理器的輸出端依次通過第二流處理器和第三流處理器進(jìn)而與協(xié)處理器的輸入端連接,所述第四流處理器的輸出端依次通過第五流處理器和第六流處理器進(jìn)而與協(xié)處理器的輸入端連接,所述第一流處理器的輸出端、第二流處理器的輸出端、第三流處理器的輸出端、第四流處理器的輸出端、第五流處理器的輸出端和第六流處理器的輸出端還均與寄存器文件的輸入端連接。
進(jìn)一步,所述第一流處理器與第四流處理器、第二流處理器與第五流處理器以及第三流處理器與第六流處理器均沿寄存器文件的兩側(cè)對稱分布。
進(jìn)一步,還包括CPU,所述CPU分別與Mapreduce接口以及云服務(wù)器連接。
本實(shí)用新型的有益效果是:包括應(yīng)用層、Mapreduce接口、API接口、云服務(wù)器和GPU陣列,采用了GPU陣列來結(jié)合Mapreduce接口和API接口來處理應(yīng)用層的圖像數(shù)據(jù),結(jié)構(gòu)簡單,硬件成本低,適合小型商家使用;GPU陣列由多個(gè)GPU并聯(lián)而成,并增設(shè)了云服務(wù)器,進(jìn)一步提升了系統(tǒng)的處理速度,更加快速。
附圖說明
圖1為本實(shí)用新型一種GPU陣列計(jì)算系統(tǒng)的整體功能模塊框圖;
圖2為本實(shí)用新型GPU的結(jié)構(gòu)框圖。
具體實(shí)施方式
參照圖1,一種GPU陣列計(jì)算系統(tǒng),包括應(yīng)用層、Mapreduce接口、API接口、云服務(wù)器和GPU陣列,所述GPU陣列由多個(gè)GPU并聯(lián)而成,所述應(yīng)用層分別與Mapreduce接口和API接口連接,所述API接口還與云服務(wù)器連接,所述云服務(wù)器和Mapreduce接口還均與GPU陣列連接。
參照圖2,進(jìn)一步作為優(yōu)選的實(shí)施方式,所述GPU包括全局內(nèi)存、二級緩沖存儲(chǔ)器、紋理內(nèi)存緩沖存儲(chǔ)器、常量內(nèi)存緩沖存儲(chǔ)器和一級緩沖存儲(chǔ)器、對稱多處理器、流處理器陣列、寄存器文件、共享內(nèi)存和協(xié)處理器,所述全局內(nèi)存分別與云服務(wù)器、Mapreduce接口和二級緩沖存儲(chǔ)器連接,所述二級緩沖存儲(chǔ)器還分別與紋理內(nèi)存緩沖存儲(chǔ)器、常量內(nèi)存緩沖存儲(chǔ)器和一級緩沖存儲(chǔ)器連接,所述紋理內(nèi)存緩沖存儲(chǔ)器、常量內(nèi)存緩沖存儲(chǔ)器和一級緩沖存儲(chǔ)器還均與對稱多處理器連接,所述對稱多處理器還分別與共享內(nèi)存以及流處理器陣列連接,所述流處理器陣列的輸出端分別與寄存器文件的輸入端以及協(xié)處理器的輸入端連接。
參照圖2,進(jìn)一步作為優(yōu)選的實(shí)施方式,所述GPU還分別連接有硬盤和內(nèi)存。
參照圖2,進(jìn)一步作為優(yōu)選的實(shí)施方式,所述GPU還設(shè)有GDDR接口,所述GDDR接口與全局內(nèi)存連接。
參照圖2,進(jìn)一步作為優(yōu)選的實(shí)施方式,還包括電源,所述電源分別為Mapreduce接口、API接口、GPU和內(nèi)存供電。
參照圖2,進(jìn)一步作為優(yōu)選的實(shí)施方式,所述流處理器陣列包括第一流處理器、第二流處理器、第三流處理器、第四流處理器、第五流處理器和第六流處理器,所述第一流處理器和第四流處理器均與對稱多處理器連接,所述第一流處理器的輸出端依次通過第二流處理器和第三流處理器進(jìn)而與協(xié)處理器的輸入端連接,所述第四流處理器的輸出端依次通過第五流處理器和第六流處理器進(jìn)而與協(xié)處理器的輸入端連接,所述第一流處理器的輸出端、第二流處理器的輸出端、第三流處理器的輸出端、第四流處理器的輸出端、第五流處理器的輸出端和第六流處理器的輸出端還均與寄存器文件的輸入端連接。
參照圖2,進(jìn)一步作為優(yōu)選的實(shí)施方式,所述第一流處理器與第四流處理器、第二流處理器與第五流處理器以及第三流處理器與第六流處理器均沿寄存器文件的兩側(cè)對稱分布。
參照圖1,進(jìn)一步作為優(yōu)選的實(shí)施方式,還包括CPU,所述CPU分別與Mapreduce接口以及云服務(wù)器連接。
下面結(jié)合說明書附圖和具體實(shí)施例對本實(shí)用新型作進(jìn)一步解釋和說明。
實(shí)施例一
針對現(xiàn)有圖像服務(wù)器硬件成本高且速度不快的問題,本實(shí)用新型提出了一種新的GPU陣列計(jì)算系統(tǒng)。如圖1所示,該GPU陣列計(jì)算系統(tǒng)主要包括應(yīng)用層、Mapreduce接口、API接口、云服務(wù)器、GPU陣列、CPU、硬盤、電源和內(nèi)存。
其中,應(yīng)用層,用于將圖像增強(qiáng)處理數(shù)據(jù)、圖像目標(biāo)搜索數(shù)據(jù)、公安行業(yè)數(shù)據(jù)、國防安全數(shù)據(jù)、平安城市數(shù)據(jù)、交通系統(tǒng)數(shù)據(jù)、救災(zāi)數(shù)據(jù)、衛(wèi)星成像數(shù)據(jù)、信號(hào)處理數(shù)據(jù)、人臉識(shí)別數(shù)據(jù)、指紋識(shí)別數(shù)據(jù)、多路高清直播數(shù)據(jù)、智能視頻監(jiān)控?cái)?shù)據(jù)等圖像數(shù)據(jù)推送給Mapreduce接口和API接口。
Mapreduce接口,用于接收應(yīng)用層推送的圖像數(shù)據(jù),并與GPU陣列通訊連接,以實(shí)現(xiàn)圖像數(shù)據(jù)的并行化處理。本實(shí)用新型的Mapreduce接口可沿用現(xiàn)有的Mapreduce接口。
API接口,用于接收應(yīng)用層推送的圖像數(shù)據(jù),并與云服務(wù)器通訊連接,以對圖像數(shù)據(jù)進(jìn)行更深層次的處理(如訓(xùn)練、學(xué)習(xí)和識(shí)別等)。本實(shí)用新型的API接口可沿用現(xiàn)有的API接口。
GPU陣列,由多個(gè)并聯(lián)的GPU 組成,用于配合云服務(wù)器和Mapreduce接口完成圖像數(shù)據(jù)的處理操作。如圖2所示,本實(shí)用新型的GPU包括全局內(nèi)存、二級緩沖存儲(chǔ)器、紋理內(nèi)存緩沖存儲(chǔ)器、常量內(nèi)存緩沖存儲(chǔ)器和一級緩沖存儲(chǔ)器、對稱多處理器、流處理器陣列、寄存器文件、共享內(nèi)存、協(xié)處理器和GDDR接口。流處理器陣列可進(jìn)一步細(xì)分為第一流處理器、第二流處理器、第三流處理器、第四流處理器、第五流處理器和第六流處理器。本實(shí)用新型的GPU借鑒了CUDA框架的概念,并新建了如圖2所示的硬件框架。下面對本實(shí)用新型的GPU的主要結(jié)構(gòu)進(jìn)行說明:
1)流處理器(Stream Processor,SP),是組成渲染管線的一部分,直接將多媒體等輸入的圖形數(shù)據(jù)流映射到流處理器上進(jìn)行處理。
2)協(xié)處理器(Synergistic Processing Unit,SPU),是GPU專門用來運(yùn)行一些計(jì)算任務(wù)的。二級緩沖存儲(chǔ)器和一級緩沖存儲(chǔ)器,是GPU內(nèi)部的一些緩沖存儲(chǔ)器,其作用跟內(nèi)存一樣。
3)GPU實(shí)際上是一個(gè)對稱多處理器SM的陣列,每個(gè)SM包含若干個(gè)核(G80和GT200中有8個(gè)核,費(fèi)米架構(gòu)中有32~48個(gè)核,開普勒架構(gòu)中至少再增加8個(gè)核)。一個(gè)GPU設(shè)備中包含一個(gè)或多個(gè)SM,這是處理器具有可擴(kuò)展性的關(guān)鍵因素。如果向設(shè)備中增加更多的SM,GPU就可以在同一時(shí)刻處理更多的任務(wù),或者對于同一任務(wù),如果有足夠的并行性的話,GPU可以更快地完成它。
4)每個(gè)SM都需要訪問寄存器文件(register File),這是一組能夠以與SP相同速度工作的存儲(chǔ)單元,所以訪問這組存儲(chǔ)單元幾乎不需要任何等待時(shí)間。不同型號(hào)的GPU中,寄存器文件的大小可能是不同的。它用來存儲(chǔ)SP上運(yùn)行的線程內(nèi)部活躍的寄存器。另外,本實(shí)用新型還有一個(gè)只供每個(gè)SM內(nèi)部訪問的共享內(nèi)存(shared memory),該共享內(nèi)存可以用作高速緩存。
5)對于紋理內(nèi)存(texture memory)緩沖存儲(chǔ)器、常量內(nèi)存(constant memory)緩沖存儲(chǔ)器和全局內(nèi)存(global memory)來說,每一個(gè)SM都分別設(shè)置有獨(dú)立訪問它們的總線。其中,紋理內(nèi)存是針對全局內(nèi)存的一個(gè)特殊視圖,用來存儲(chǔ)插值(interpolation)計(jì)算所需的數(shù)據(jù),例如,顯示2D或3D圖像時(shí)需要的查找表。它擁有基于硬件進(jìn)行插值的特性。常量內(nèi)存用于存儲(chǔ)那些只讀的數(shù)據(jù),所有的GPU卡均是對其進(jìn)行緩存。與紋理內(nèi)存一樣,常量內(nèi)存也是全局內(nèi)存建立的一個(gè)視圖。全局內(nèi)存,即普通的顯存,整個(gè)網(wǎng)格中的任意線程都能讀寫全局存儲(chǔ)器的任意位置。本實(shí)用新型GPU的一級緩沖存儲(chǔ)器數(shù)據(jù)量不夠時(shí)會(huì)將先數(shù)據(jù)存儲(chǔ)到全局內(nèi)存,而GPU在查找數(shù)據(jù)時(shí)先去一級緩沖存儲(chǔ)器查找,一級緩沖存儲(chǔ)器找不到時(shí)再通過全局內(nèi)存去共享內(nèi)存查找。
6)圖形卡通過GDDR(Graphic Double Data Rate)接口訪問全局內(nèi)存。GDDR是DDR(Double Data Rate)內(nèi)存的一個(gè)高速版本,其內(nèi)存總線寬度最大可達(dá)512位,提供的帶寬是CPU對應(yīng)帶寬的5~10倍,在費(fèi)米架構(gòu)GPU中最高可達(dá)190GB/s。
CPU,用于輔助GPU進(jìn)行圖像數(shù)據(jù)處理,以提高處理速度。
硬盤和內(nèi)存,用于存儲(chǔ)圖像處理結(jié)果數(shù)據(jù)。
電源,用于為Mapreduce接口、API接口、GPU和內(nèi)存供電。
本實(shí)用新型的工作過程如下:
S1、應(yīng)用層將圖像增強(qiáng)處理數(shù)據(jù)、圖像目標(biāo)搜索數(shù)據(jù)、公安行業(yè)數(shù)據(jù)、國防安全數(shù)據(jù)、平安城市數(shù)據(jù)、交通系統(tǒng)數(shù)據(jù)、救災(zāi)數(shù)據(jù)、衛(wèi)星成像數(shù)據(jù)、信號(hào)處理數(shù)據(jù)、人臉識(shí)別數(shù)據(jù)、指紋識(shí)別數(shù)據(jù)、多路高清直播數(shù)據(jù)、智能視頻監(jiān)控?cái)?shù)據(jù)等圖像數(shù)據(jù)推送給Mapreduce接口和API接口。
S2、通過MapReduce k接口來并行處理圖像數(shù)據(jù);
S3、通過API接口直接與云服務(wù)器通信,將直接圖像數(shù)據(jù)提交到云服務(wù)器,利用云服務(wù)器的快速運(yùn)算能力進(jìn)行快速處理。
S4、云服務(wù)器與GPU陣列的CPU進(jìn)行通信,以完成圖像數(shù)據(jù)的處理工作。
本實(shí)用新型的云服務(wù)器、GPU和CPU雖然涉及數(shù)據(jù)處理的內(nèi)容,但其均可采用現(xiàn)有的技術(shù)手段來實(shí)現(xiàn),在此不再重復(fù)描述。
以上是對本實(shí)用新型的較佳實(shí)施進(jìn)行了具體說明,但本實(shí)用新型并不限于所述實(shí)施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本實(shí)用新型精神的前提下還可做作出種種的等同變形或替換,這些等同的變形或替換均包含在本申請權(quán)利要求所限定的范圍內(nèi)。