亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于GPU通用計(jì)算的分析與研究

        2011-02-19 07:49:22田立國(guó)杜君
        制造業(yè)自動(dòng)化 2011年2期
        關(guān)鍵詞:處理單元流水線彈道

        田立國(guó),杜君

        TIAN Li-guo1,DU Jun2

        (1.漢中職業(yè)技術(shù)學(xué)院,漢中 723000;2.北京裝甲兵工程學(xué)院 裝備指揮與管理學(xué)院,北京 100072)

        0 引言

        最近幾年來(lái),受游戲市場(chǎng)和視景仿真需求的牽引,GPU(Graphic Process Unit圖形處理單元)得到了迅速的發(fā)展,主流GPU的單精度浮點(diǎn)處理能力和外部存儲(chǔ)器帶寬都遠(yuǎn)遠(yuǎn)高于同期的CPU,而且GPU已經(jīng)從以往的固定流水線操作模式發(fā)展成可編程流水線模式;另一方面,受工藝、材料和功耗的物理限制,處理器的頻率不會(huì)在短時(shí)期內(nèi)有飛躍式的提高,新的摩爾定律已經(jīng)演化為“未來(lái)的計(jì)算機(jī)硬件不會(huì)更快,只會(huì)更寬”,相應(yīng)的現(xiàn)代CPU也采用了多核的架構(gòu)用來(lái)提高CPU的并行處理能力。但GPU與生俱來(lái)就是一種眾核并行處理器,在處理單元的數(shù)量上還要遠(yuǎn)遠(yuǎn)超過(guò)CPU,因此GPU在未來(lái)的高性能計(jì)算中將發(fā)揮越來(lái)越大的作用。

        1 GPU通用計(jì)算概述

        1.1 GPU通用計(jì)算

        [1]從系統(tǒng)架構(gòu)上看,GPU是針對(duì)向量計(jì)算進(jìn)行了優(yōu)化的高度并行的數(shù)據(jù)流處理器,其中包括兩種流處理單元:頂點(diǎn)處理流水線(Vertex Shader)和像素處理流水線(Pixel Shader),其中頂點(diǎn)流水線是多指令多數(shù)據(jù)流(MIMD)的處理單元,而像素處理流水線(Pixel Shader)是單指令多數(shù)據(jù)流(SIMD)的處理單元。這種以數(shù)據(jù)流作為處理單元的處理器,在對(duì)數(shù)據(jù)流的處理上可以獲取較高的效率,因此最近幾年,很多研究人員開(kāi)創(chuàng)了一個(gè)新的研究領(lǐng)域:基于GPU的通用計(jì)算(GPGPU:General-Purpose Computation on Graphics Process),其主要研究?jī)?nèi)容是除了在圖形處理方面外,如何利用GPU來(lái)進(jìn)行更為廣泛的應(yīng)用計(jì)算。GPGPU計(jì)算通常采用CPU+GPU異構(gòu)模式,由CPU負(fù)責(zé)執(zhí)行復(fù)雜邏輯處理和事務(wù)管理等不適合數(shù)據(jù)并行的計(jì)算,由GPU負(fù)責(zé)計(jì)算密集型的大規(guī)模數(shù)據(jù)并行計(jì)算。這種利用GPU強(qiáng)大處理能力和高帶寬彌補(bǔ)CPU性能不足的計(jì)算方式在發(fā)掘計(jì)算機(jī)潛在的性能,在成本和性?xún)r(jià)比方面有顯著的優(yōu)勢(shì)。

        1.2 GPU通用計(jì)算的特點(diǎn)

        在GPU上運(yùn)行的圖形應(yīng)用程序的算法存在如下幾個(gè)特征:算法密集、高度并行、控制簡(jiǎn)單、分多個(gè)階段執(zhí)行以及前饋(Feed Forward)流水線等,因此,符合這些條件或者是可以改寫(xiě)成類(lèi)似特征的應(yīng)用程序,就能夠在GPU上獲取較高的性能。

        1.3 GPU通用計(jì)算平臺(tái)

        GPU從其誕生之日起就是專(zhuān)門(mén)為圖形處理設(shè)計(jì)的處理器,它具有自己的存儲(chǔ)單元,在數(shù)據(jù)存取方式上也存在一定的特殊性,而且通常對(duì)GPU進(jìn)行開(kāi)發(fā)的是一些游戲廠商,他們幾乎都使非標(biāo)準(zhǔn)編程模式,如果要實(shí)現(xiàn)通用計(jì)算需要花費(fèi)很大的程序開(kāi)發(fā)能力,為了便于開(kāi)發(fā)人員使用GPU的通用計(jì)算能力,世界上一些知名的軟硬件廠商先后推出了一些開(kāi)發(fā)平臺(tái)和工具,極大地推動(dòng)了GPU通用計(jì)算的發(fā)展和進(jìn)步。目前使用比較廣泛的是NVIDIA的CUDA,主要有以下兩個(gè)原因:

        1)硬件方面,支持CUDA的GPU在構(gòu)架上有了顯著的改進(jìn),一是采用了統(tǒng)一的處理架構(gòu),可以更加有效地利用過(guò)去分布在頂點(diǎn)渲染器和像素渲染器的計(jì)算資源;二是引入了片內(nèi)共享存儲(chǔ)器,支持隨機(jī)寫(xiě)入和線程間通信。這兩項(xiàng)改進(jìn)使得CUDA架構(gòu)更加適用于GPU通用計(jì)算。

        2)軟件方面,CUDA不需要借助于圖形API,并采用了比較容易掌握的類(lèi)C語(yǔ)言進(jìn)行開(kāi)發(fā)。開(kāi)發(fā)人員能夠從熟悉的C語(yǔ)言比較平穩(wěn)地從CPU編程模式過(guò)渡到GPU編程模式,而不需要去學(xué)習(xí)特定的顯示芯片指令或者特殊的結(jié)構(gòu)。CUDA的最大優(yōu)勢(shì)在于它極大降低了利用GPU進(jìn)行編程的入門(mén)門(mén)檻。只要編程人員掌握C語(yǔ)言,就可以利用CUDA所提供的編程環(huán)境和SDK基于GPU進(jìn)行軟件開(kāi)發(fā)。

        2 GPU通用計(jì)算的應(yīng)用領(lǐng)域

        2.1 GPU與CPU硬件架構(gòu)比較

        從硬件架構(gòu)上看,CPU和GPU是按照不同的設(shè)計(jì)思路設(shè)計(jì)的:如圖1所示。

        圖1 CPU和GPU硬件架構(gòu)示意圖

        CPU的架構(gòu)是按照兼顧“指令并行執(zhí)行”和“數(shù)據(jù)并行運(yùn)算”的思路而設(shè)計(jì),即兼顧程序執(zhí)行和數(shù)據(jù)運(yùn)算的并行性、通用性以及它們的平衡性。因而CPU是計(jì)算機(jī)中設(shè)計(jì)最復(fù)雜的芯片。和GPU相比,CPU核心的重復(fù)設(shè)計(jì)部分不多,這種復(fù)雜性來(lái)自于實(shí)現(xiàn):如程序分支預(yù)測(cè),推測(cè)執(zhí)行,多重嵌套分支執(zhí)行,并行執(zhí)行時(shí)候的指令相關(guān)性和數(shù)據(jù)相關(guān)性,多核協(xié)同處理時(shí)候的數(shù)據(jù)一致性等等復(fù)雜邏輯。

        GPU其實(shí)是由硬件實(shí)現(xiàn)的一組圖形函數(shù)的集合,這些函數(shù)主要用于繪制各種圖形所需要的運(yùn)算。這些和像素,光影處理,3D 坐標(biāo)變換等相關(guān)的運(yùn)算由GPU硬件加速來(lái)實(shí)現(xiàn)。圖形運(yùn)算的特點(diǎn)是大量同類(lèi)型數(shù)據(jù)的密集運(yùn)算—如圖形數(shù)據(jù)的矩陣運(yùn)算,GPU的架構(gòu)就是面向適合于矩陣類(lèi)型的數(shù)值計(jì)算而設(shè)計(jì)的,大量重復(fù)設(shè)計(jì)的計(jì)算單元,這類(lèi)計(jì)算可以分成眾多獨(dú)立的數(shù)值計(jì)算—大量數(shù)值運(yùn)算的線程,而且數(shù)據(jù)之間沒(méi)有像程序執(zhí)行的那種邏輯關(guān)聯(lián)性。

        2.2 GPU與CPU計(jì)算能力分析

        GPU擁有自己獨(dú)立的子存儲(chǔ)系統(tǒng)—顯存,它擁有比系統(tǒng)主存高得多的帶寬。GPU在工作時(shí),工作負(fù)載經(jīng)PCI-E總線從CPU傳入GPU顯存,按照體系架構(gòu)的層次自頂向下分發(fā)。PCI-E 2.0規(guī)范中,每個(gè)通道上下行的數(shù)據(jù)傳輸速度達(dá)到了5.0Gbit/s,這樣PCI-E2.0×16插槽能夠?yàn)樯舷滦袛?shù)據(jù)各提供5.0×16Gbit/s=10GB/s的帶寬,有效帶寬為8GB/s,但是由于PCI-E數(shù)據(jù)封包的影響,實(shí)際可用的帶寬大約在5-6GB/s(PCI-E 2.0×16)。

        CPU在浮點(diǎn)運(yùn)算和并行計(jì)算方面的性能遠(yuǎn)不如GPU強(qiáng)大,所以將GPU的作為CPU的浮點(diǎn)運(yùn)算協(xié)處理器可以使普通PC的運(yùn)算能力提高到一個(gè)全新的高度。如果從更深層面考慮,目前CPU的發(fā)展已經(jīng)遇到了瓶頸,無(wú)論是核心架構(gòu)的效率還是核心數(shù)量都很難獲得大幅提升,而GPU則是新的突破點(diǎn),它的潛力很大。

        2.3 GPU通用計(jì)算的應(yīng)用領(lǐng)域

        GPU通用計(jì)算的發(fā)展迅速,特別是“CPU+ GPU”模式的提出,使得GPU通用計(jì)算的應(yīng)用領(lǐng)域逐步深入到科學(xué)計(jì)算的各個(gè)領(lǐng)域,如FFT(快速傅里葉變換)[2]、串匹配算法[3]、科學(xué)計(jì)算可視化[4]、實(shí)時(shí)紅外圖像生成[5]、遺傳算法加速[6]、數(shù)據(jù)庫(kù)操作[7]、等。隨著軟硬件技術(shù)的進(jìn)一步發(fā)展,以及越來(lái)越多的研究人員和工程技術(shù)人員的參與,GPU通用計(jì)算的研究和應(yīng)用領(lǐng)域?qū)⑦M(jìn)一步拓寬。

        3 GPU加速性能驗(yàn)證及分析

        GPU在處理大量的沒(méi)有邏輯關(guān)系的數(shù)值計(jì)算時(shí),理論上具有明顯的加速效果,為了對(duì)GPU通用計(jì)算的加速性能進(jìn)行原理性的分析和驗(yàn)證,構(gòu)建了以下的實(shí)驗(yàn)環(huán)境:

        硬件采用2.2GHz Intel Core2Duo處理器和GeForce G210M顯卡(娛樂(lè)級(jí)顯卡),軟件環(huán)境采用NVIDA的CUDA SDK 2.0及C語(yǔ)言編譯器。

        3.1 海量浮點(diǎn)數(shù)求和運(yùn)算

        選取0~512*21056的浮點(diǎn)型數(shù)據(jù),每個(gè)整型數(shù)據(jù)執(zhí)行k次累加和運(yùn)算。

        試驗(yàn)中,通過(guò)不斷增大k的值,來(lái)調(diào)浮點(diǎn)數(shù)的運(yùn)算量,試驗(yàn)的結(jié)果如圖2所示。其中GPU程序執(zhí)行時(shí)間包括數(shù)據(jù)在顯存和主存之間的傳遞時(shí)間。

        圖2 海量浮點(diǎn)數(shù)運(yùn)算

        從試驗(yàn)結(jié)果可以看出,隨著計(jì)算量的增加,CPU和GPU執(zhí)行時(shí)間都在增加,但到達(dá)一定的計(jì)算量后,CPU執(zhí)行時(shí)間成線性增加,而GPU基本保持不變,原因是高密度計(jì)算隱藏了GPU訪存和數(shù)據(jù)傳輸帶來(lái)的延遲。

        3.2 龍格-庫(kù)塔法解算彈道方程

        龍格-庫(kù)塔算法是一種常用的微分方程的數(shù)值解法,具有較高的精度,相應(yīng)地其運(yùn)算量也相對(duì)較大。

        實(shí)驗(yàn)中通過(guò)改變解算彈道數(shù),比較分析CPU和GPU的執(zhí)行時(shí)間,如圖3所示。

        圖3 龍格-庫(kù)塔解算彈道方程

        由試驗(yàn)數(shù)據(jù)可知,在彈道數(shù)小于1024的時(shí)候,GPU執(zhí)行速度沒(méi)有CPU快,GPU的加速性能沒(méi)有充分發(fā)揮。當(dāng)彈道數(shù)大于1024時(shí),GPU加速優(yōu)勢(shì)開(kāi)始顯現(xiàn),隨著彈道數(shù)增大,GPU加速優(yōu)勢(shì)越來(lái)越明顯,主要原因是大規(guī)模高吞吐量的數(shù)據(jù)運(yùn)算也可以隱藏GPU訪存和數(shù)據(jù)傳輸帶來(lái)的延遲。

        4 結(jié)束語(yǔ)

        隨著GPU 計(jì)算能力的飛速提高,以及相關(guān)軟件平臺(tái)的支持,高性能計(jì)算逐步進(jìn)入桌面領(lǐng)域,對(duì)于普通的科研和技術(shù)人員而言,高性能計(jì)算(High Performance Computing,HPC)不再可望而不可及,在這種高性?xún)r(jià)比的計(jì)算資源的支持下,許多以往看起來(lái)無(wú)法解決的運(yùn)算問(wèn)題都可以迎刃而解。

        [1]吳恩華.圖形處理器用于通用計(jì)算的技術(shù)、現(xiàn)狀及其挑戰(zhàn)[J].軟件學(xué)報(bào).2004,15(10):1493-1504.

        [2]馮煌.GPU圖像處理的FFT和卷積算法及性能分析[J].計(jì)算機(jī)工程與應(yīng)用.2008,44(2).

        [3]張慶丹,戴正華,馮圣中,孫凝暉.基于GPU的串匹配算法研究[J].計(jì)算機(jī)應(yīng)用.2006,7(26):7.

        [4]鄭杰.基于GPU的高質(zhì)量交互式可視化技術(shù)研究[D].西安電子科技大學(xué).2007.

        [5]李勇.基于GPU的實(shí)時(shí)紅外圖像生成方法研究[D].西安電子科技大學(xué),2007.

        [6]楊正龍,金林,李蔚清.基與GPU的圖形電磁計(jì)算加速算法[J].電于學(xué)報(bào).2007,6(35):6.

        [7]楊正平.基于GPU計(jì)算的直接體視化和遺傳算法研究[D].中國(guó)地質(zhì)大學(xué)文.2005.

        猜你喜歡
        處理單元流水線彈道
        Gen Z Migrant Workers Are Leaving the Assembly Line
        彈道——打勝仗的奧秘
        不同生物鏈組合對(duì)黃河下游地區(qū)引黃水庫(kù)富營(yíng)養(yǎng)化及藻類(lèi)控制
        城市污水處理廠設(shè)備能耗及影響因素分析研究
        科技資訊(2021年10期)2021-07-28 04:04:53
        長(zhǎng)填齡滲濾液MBR+NF組合工藝各處理單元的DOM化學(xué)多樣性
        一種高可用負(fù)載均衡網(wǎng)絡(luò)數(shù)據(jù)采集處理的方法及系統(tǒng)
        流水線
        一維彈道修正彈無(wú)線通信系統(tǒng)研制
        電子制作(2019年7期)2019-04-25 13:17:48
        基于PID控制的二維彈道修正彈仿真
        報(bào)廢汽車(chē)拆解半自動(dòng)流水線研究
        亚洲中文字幕乱码在线视频| 野花社区www高清视频| 在线亚洲综合| 久草91这里只有精品| 日本一区二区三区光视频| 亚洲国产精品久久电影欧美| 后入内射欧美99二区视频| 99免费视频精品| 国产一区二区在线免费视频观看| 日韩av无码一区二区三区不卡| 无码中文字幕人妻在线一区二区三区| a午夜国产一级黄片| 91快射视频在线观看| 成人免费无码大片a毛片抽搐色欲 日本动漫瀑乳h动漫啪啪免费 | 一本一道久久a久久精品综合| 免费看一级a女人自慰免费| 久久综合加勒比东京热| 人禽杂交18禁网站免费| 欧美成人片一区二区三区| 国产精品九九久久一区hh| 白白色日韩免费在线观看| 强开小婷嫩苞又嫩又紧视频| 国产av无码专区亚洲av琪琪| 亚洲欧美日韩精品高清| 国产一区二区三区不卡视频| 男女做爰高清免费视频网站| 中文字幕无码免费久久| 成年女人18毛片毛片免费| 日韩少妇人妻中文视频| 欧美天天综合色影久久精品| 亚洲tv精品一区二区三区| 久久精品国产精品亚洲艾| 中文字幕亚洲综合久久菠萝蜜| 精品久久久久久无码国产| 激情内射亚洲一区二区| 中文字幕本久久精品一区| 国产精品无码av天天爽| 日韩一区二区不卡av| 亚洲一区二区三区在线最新| 女的扒开尿口让男人桶30分钟| 自拍偷拍亚洲一区|