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

        ?

        CPU與GPU的計(jì)算性能對(duì)比

        2019-01-30 07:49:18韓菲李煒
        電子技術(shù)與軟件工程 2019年1期

        文/韓菲 李煒

        1 引言

        隨著大數(shù)據(jù)時(shí)代的到來(lái),數(shù)據(jù)量和數(shù)據(jù)種類(lèi)急劇增加,計(jì)算難度越來(lái)越大,串行計(jì)算已經(jīng)難以滿足超大規(guī)模復(fù)雜問(wèn)題的計(jì)算需求,GPU以其全新的架構(gòu)優(yōu)勢(shì)突破摩爾定律的束縛為計(jì)算力注入新的力量。

        如圖1所示,CPU在設(shè)計(jì)之初主要精力集中在控制和緩存等非計(jì)算功能,著力于低延遲,快速響應(yīng)完成某個(gè)操作,優(yōu)化串行計(jì)算;GPU則適合計(jì)算密集、高度并行化、高計(jì)算強(qiáng)度(計(jì)算/訪存比)的并行計(jì)算任務(wù)主要致力于設(shè)計(jì)大量的ALU(Arithmetic Logical Unit)計(jì)算單元,使計(jì)算能力大幅度增強(qiáng)。

        2 GPU的并行計(jì)算

        2.1 GPU的硬件設(shè)計(jì)

        GPU由若干個(gè)流多處理器(Streaming Multiprocessor,簡(jiǎn)稱SM)組成,如圖2所示,1個(gè)SM由8個(gè)標(biāo)量流處理器(Stream Processor,簡(jiǎn) 稱SP)、1個(gè) 指 令 單 元、1個(gè)32位的寄存器、共享存儲(chǔ)器(Shared Memory)、常量存儲(chǔ)器(Constant Cache)、紋理存儲(chǔ)器(Texture Cache)等硬件組成。

        圖1:CPU與GPU架構(gòu)的比較

        圖2:SM的硬件結(jié)構(gòu)

        GPU的“核心”通常指的是SP的數(shù)量。而真正GPU的核心需要包含取指、解碼、分發(fā)邏輯和執(zhí)行單元。因此,SM被稱為“GPU的核心”更加合適,SP僅僅是執(zhí)行單元,不是完整的處理核心。CUDA模型中Thread對(duì)應(yīng)SP,Block中的1個(gè)Thread被發(fā)射到1個(gè)SP上,8個(gè)SP組成1個(gè)SM,共用1個(gè)SM中的共享存儲(chǔ)器,共享1個(gè)SM中的一套取指與發(fā)射單元,因此1個(gè)Block中的線程可以共享數(shù)據(jù);1個(gè)Block必須對(duì)應(yīng)1個(gè)SM,但為了隱藏延遲提高執(zhí)行單元的資源利用率,1個(gè)SM可以同時(shí)有多個(gè)活躍線程塊(active Block)等待執(zhí)行。在SM中,線程的創(chuàng)建、調(diào)度和執(zhí)行等操作均由硬件完成,沒(méi)有時(shí)間開(kāi)銷(xiāo),一旦1個(gè)Block執(zhí)行高延遲操作,則另1個(gè)Block馬上占用SM資源執(zhí)行程序。

        2.2 CUDA簡(jiǎn)介

        NVIDIA提出了支持在GPU上做通用計(jì)算的統(tǒng)一計(jì)算設(shè)備架構(gòu)CUDA(Compute Unif ied Device Architecture),編程人員可以利用CUDA編程模型使用擴(kuò)展的C語(yǔ)言在開(kāi)發(fā)環(huán)境下編寫(xiě)程序,使GPU程序輕松地運(yùn)行在GPU上,大大降低了利用GPU進(jìn)行通用計(jì)算的難度,降低編程門(mén)檻,省去程序員學(xué)習(xí)GPU復(fù)雜結(jié)構(gòu)和底層復(fù)雜運(yùn)行模式的難度,提高程序的性能,減輕早期GPU計(jì)算中存在的一些限制。

        2.3 CUDA線程組織結(jié)構(gòu)

        CUDA程序分為主機(jī)代碼和設(shè)備代碼兩部分。主機(jī)是CPU,主機(jī)代碼一般為串行代碼在CPU上執(zhí)行;設(shè)備是GPU,設(shè)備代碼是在GPU上并行執(zhí)行的代碼,被稱為內(nèi)核函數(shù)。該函數(shù)并發(fā)成千上萬(wàn)個(gè)線程,并行執(zhí)行程序,1個(gè)內(nèi)核函數(shù)(Kernel)對(duì)應(yīng)1個(gè)線程網(wǎng)格(Grid),1個(gè)線程網(wǎng)格最多由65535個(gè)線程塊(Block)組成,1個(gè)線程塊最多由512個(gè)線程(Thread)組成,則512*65535=33553920是1個(gè)線程網(wǎng)格可以擁有的最多線程數(shù),足夠大多數(shù)程序使用。

        在內(nèi)核函數(shù)定義中,要建立對(duì)Block和Thread的索引,對(duì)任務(wù)進(jìn)行劃分。同時(shí)還建立了四個(gè)內(nèi)置變量:gridDim、BlockDim、BlockIdx、ThreadIdx,對(duì)應(yīng)關(guān)系如下:

        3 CPU與GPU計(jì)算旅行時(shí)

        表1:CPU與GPU運(yùn)行時(shí)間對(duì)比

        3.1 CPU串行計(jì)算旅行時(shí)

        GPU最廣泛的應(yīng)用領(lǐng)域之一就是地震勘探。地震波傳播時(shí)遇到斷棱或不整合面上的突變點(diǎn)后將變?yōu)樾抡鹪?,發(fā)出球面波向四周傳播形成的波被稱為繞射波。為計(jì)算旅行時(shí),設(shè)采樣點(diǎn)5000個(gè),采樣間隔0.002s,CDP 200個(gè),道頭文件包含炮點(diǎn)橫縱坐標(biāo)Sx、Sy,檢波點(diǎn)橫縱坐標(biāo)Rx,Ry四個(gè)信息,坐標(biāo)文件包含地下反射點(diǎn)橫縱坐標(biāo)coorx、coory兩個(gè)信息。對(duì)每個(gè)CDP的每個(gè)時(shí)間點(diǎn)進(jìn)行計(jì)算,nt0代表采樣點(diǎn),ncdp代表cdp數(shù),算法步驟如下:

        S1:0=>i

        S2:讀入反射點(diǎn)坐標(biāo),炮點(diǎn)檢波點(diǎn)坐標(biāo)

        S3:反射點(diǎn)地面橫坐標(biāo)-炮點(diǎn)橫坐標(biāo)=>炮點(diǎn)反射點(diǎn)地面橫向距離

        S4:反射點(diǎn)地面縱坐標(biāo)-炮點(diǎn)縱坐標(biāo)=>炮點(diǎn)反射點(diǎn)地面縱向距離

        S5:炮點(diǎn)反射點(diǎn)橫向距離平方+炮點(diǎn)反射點(diǎn)縱向距離平方=>炮點(diǎn)反射點(diǎn)地面距離的平方

        S6:反射點(diǎn)地面橫坐標(biāo)-檢波點(diǎn)橫坐標(biāo)=>檢波點(diǎn)反射點(diǎn)地面橫向距離

        S7:反射點(diǎn)地面縱坐標(biāo)-檢波點(diǎn)縱坐標(biāo)=>檢波點(diǎn)反射點(diǎn)地面縱向距離

        S8:檢波點(diǎn)反射點(diǎn)橫向距離平方+檢波點(diǎn)反射點(diǎn)縱向距離平方=>檢波點(diǎn)反射點(diǎn)地面距離的平方

        S9:0=>j

        S10:i*nt0+j=>當(dāng)前cdp的時(shí)間采樣點(diǎn)

        S11:對(duì)當(dāng)前點(diǎn)獲取速度

        S12:求取當(dāng)前速度的倒數(shù)

        S13:求取倒數(shù)的平方

        S14:求取炮點(diǎn)旅行時(shí)

        S15:求取檢波點(diǎn)旅行時(shí)

        S16:炮點(diǎn)旅行時(shí)+檢波點(diǎn)旅行時(shí)=>總旅行時(shí)

        S17:j+1=>j

        S18:如果j<5000,返回S9,否則執(zhí)行S19

        S19:i+1=>i

        S20:如果i<200,返回S2,否則算法結(jié)束

        圖3:GPU計(jì)算反射點(diǎn)旅行時(shí)流程

        CPU計(jì)算旅行時(shí)花費(fèi)的時(shí)間:344.60000s

        3.2 GPU并行計(jì)算旅行時(shí)

        通過(guò)對(duì)CUDA的并行機(jī)制的分析,作出以下分塊策略。根據(jù)計(jì)算旅行時(shí)的實(shí)際數(shù)據(jù)需求,時(shí)間采樣點(diǎn)nt0=5000個(gè),cdp數(shù)200個(gè),因此首先將5000個(gè)t(x,y)的計(jì)算與1個(gè)Block對(duì)應(yīng),設(shè)200個(gè)Block,1個(gè)Block(x,y)計(jì)算1個(gè)t(x,y),并行計(jì)算直到200*5000個(gè)t(x,y)計(jì)算完畢,之后將計(jì)算結(jié)果傳回CPU,通過(guò)循環(huán)輸出1000000個(gè)點(diǎn)的旅行時(shí)。

        每一個(gè)線程處理一個(gè)炮點(diǎn)旅行時(shí)ts和檢波點(diǎn)旅行時(shí)tg的計(jì)算,得到一個(gè)總旅行時(shí)t值,當(dāng)計(jì)算點(diǎn)增大時(shí),不會(huì)受到線程數(shù)量限制的影響。具體計(jì)算流程如圖3。

        GPU計(jì)算旅行時(shí)花費(fèi)的時(shí)間:25.30000s

        計(jì)算旅行時(shí)的GPU算法理論帶寬:

        Theoretical Bandwidth=效地對(duì)算法進(jìn)行加速,在累加和算法中采用最優(yōu)化方法時(shí)GPU是CPU的14倍左右。

        (2)結(jié)合GPU的硬件特點(diǎn)對(duì)大數(shù)據(jù)量的并行計(jì)算是非常有效的。當(dāng)計(jì)算的數(shù)據(jù)量較小時(shí),GPU算法中,啟動(dòng)的線程計(jì)算量不滿載,大部分時(shí)間花在了系統(tǒng)調(diào)度開(kāi)銷(xiāo)上,GPU并行計(jì)算的優(yōu)勢(shì)沒(méi)有展現(xiàn),時(shí)間與CPU計(jì)算時(shí)間差別不明顯;隨著計(jì)算的數(shù)據(jù)量增大,每個(gè)線程的計(jì)算漸漸滿載,時(shí)間花在系統(tǒng)調(diào)度的比例降低,GPU并行程度提高,加速比上升。=143.36GB/s (Tesla C2075內(nèi)存時(shí)鐘為1120MHz,內(nèi)存接口寬度為512 bit)。

        實(shí)際帶寬距離理論帶寬還有一定差距,算法中還存在一定的瓶頸。

        除此之外,本論文還計(jì)算了采樣點(diǎn)=500個(gè),CDP=20個(gè)的反射點(diǎn)旅行時(shí),CPU與GPU運(yùn)行效率對(duì)比如表1。

        4 結(jié)論

        (1)CPU的串行計(jì)算是通過(guò)多次循環(huán)逐一計(jì)算各點(diǎn)旅行時(shí),因此時(shí)間為所有循環(huán)結(jié)束后的總時(shí)間,而GPU的并行計(jì)算時(shí)間為計(jì)算一點(diǎn)旅行時(shí)的時(shí)間加上主機(jī)與設(shè)備間互相傳遞參數(shù)的時(shí)間。當(dāng)計(jì)算量小時(shí),CPU與GPU的計(jì)算時(shí)間差別不大,但隨著計(jì)算量的逐漸加大,GPU的并行計(jì)算逐漸體現(xiàn)其優(yōu)勢(shì),它可以有

        亚洲综合新区一区二区| 亚洲成成品网站源码中国有限公司| 婷婷综合缴情亚洲| 精品国产亚欧无码久久久| 亚洲精品中文字幕尤物综合 | 图片区小说区激情区偷拍区| 国产免费资源高清小视频在线观看| 欧美日韩性高爱潮视频| 日本高清一区二区三区不卡| 日韩有码在线观看视频| 在线看片免费人成视频电影| 俺来也俺去啦最新在线| 亚洲国产精品线观看不卡| 翘臀诱惑中文字幕人妻| 99久久精品无码一区二区毛片 | 亲子乱aⅴ一区二区三区下载| 日本成人一区二区三区| 女优视频一区二区三区在线观看| 国产激情综合五月久久| 日韩av激情在线观看| 鲁一鲁一鲁一鲁一澡| 亚洲夫妻性生活视频网站| 人妻少妇精品视中文字幕免费| 久久精品中文字幕无码绿巨人| 国产真人性做爰久久网站| 亚洲VA不卡一区| 亚洲国产综合精品一区最新| 噜噜综合亚洲av中文无码| 成人a级视频在线观看| 国产精品11p| 白色橄榄树在线阅读免费| 中文字幕一区久久精品| 中文无码一区二区不卡av| 国产最新在线视频| 中文字幕人妻乱码在线| 精品久久久久久亚洲综合网| 无码熟妇人妻av在线影片| 日本嗯啊在线观看| 久久精品一区二区三区蜜桃| 亚洲一区二区三区播放| 中文不卡视频|