999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

CPU與GPU的計算性能對比

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

文/韓菲 李煒

1 引言

隨著大數據時代的到來,數據量和數據種類急劇增加,計算難度越來越大,串行計算已經難以滿足超大規模復雜問題的計算需求,GPU以其全新的架構優勢突破摩爾定律的束縛為計算力注入新的力量。

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

2 GPU的并行計算

2.1 GPU的硬件設計

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

圖1:CPU與GPU架構的比較

圖2:SM的硬件結構

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

2.2 CUDA簡介

NVIDIA提出了支持在GPU上做通用計算的統一計算設備架構CUDA(Compute Unif ied Device Architecture),編程人員可以利用CUDA編程模型使用擴展的C語言在開發環境下編寫程序,使GPU程序輕松地運行在GPU上,大大降低了利用GPU進行通用計算的難度,降低編程門檻,省去程序員學習GPU復雜結構和底層復雜運行模式的難度,提高程序的性能,減輕早期GPU計算中存在的一些限制。

2.3 CUDA線程組織結構

CUDA程序分為主機代碼和設備代碼兩部分。主機是CPU,主機代碼一般為串行代碼在CPU上執行;設備是GPU,設備代碼是在GPU上并行執行的代碼,被稱為內核函數。該函數并發成千上萬個線程,并行執行程序,1個內核函數(Kernel)對應1個線程網格(Grid),1個線程網格最多由65535個線程塊(Block)組成,1個線程塊最多由512個線程(Thread)組成,則512*65535=33553920是1個線程網格可以擁有的最多線程數,足夠大多數程序使用。

在內核函數定義中,要建立對Block和Thread的索引,對任務進行劃分。同時還建立了四個內置變量:gridDim、BlockDim、BlockIdx、ThreadIdx,對應關系如下:

3 CPU與GPU計算旅行時

表1:CPU與GPU運行時間對比

3.1 CPU串行計算旅行時

GPU最廣泛的應用領域之一就是地震勘探。地震波傳播時遇到斷棱或不整合面上的突變點后將變為新震源,發出球面波向四周傳播形成的波被稱為繞射波。為計算旅行時,設采樣點5000個,采樣間隔0.002s,CDP 200個,道頭文件包含炮點橫縱坐標Sx、Sy,檢波點橫縱坐標Rx,Ry四個信息,坐標文件包含地下反射點橫縱坐標coorx、coory兩個信息。對每個CDP的每個時間點進行計算,nt0代表采樣點,ncdp代表cdp數,算法步驟如下:

S1:0=>i

S2:讀入反射點坐標,炮點檢波點坐標

S3:反射點地面橫坐標-炮點橫坐標=>炮點反射點地面橫向距離

S4:反射點地面縱坐標-炮點縱坐標=>炮點反射點地面縱向距離

S5:炮點反射點橫向距離平方+炮點反射點縱向距離平方=>炮點反射點地面距離的平方

S6:反射點地面橫坐標-檢波點橫坐標=>檢波點反射點地面橫向距離

S7:反射點地面縱坐標-檢波點縱坐標=>檢波點反射點地面縱向距離

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

S9:0=>j

S10:i*nt0+j=>當前cdp的時間采樣點

S11:對當前點獲取速度

S12:求取當前速度的倒數

S13:求取倒數的平方

S14:求取炮點旅行時

S15:求取檢波點旅行時

S16:炮點旅行時+檢波點旅行時=>總旅行時

S17:j+1=>j

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

S19:i+1=>i

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

圖3:GPU計算反射點旅行時流程

CPU計算旅行時花費的時間:344.60000s

3.2 GPU并行計算旅行時

通過對CUDA的并行機制的分析,作出以下分塊策略。根據計算旅行時的實際數據需求,時間采樣點nt0=5000個,cdp數200個,因此首先將5000個t(x,y)的計算與1個Block對應,設200個Block,1個Block(x,y)計算1個t(x,y),并行計算直到200*5000個t(x,y)計算完畢,之后將計算結果傳回CPU,通過循環輸出1000000個點的旅行時。

每一個線程處理一個炮點旅行時ts和檢波點旅行時tg的計算,得到一個總旅行時t值,當計算點增大時,不會受到線程數量限制的影響。具體計算流程如圖3。

GPU計算旅行時花費的時間:25.30000s

計算旅行時的GPU算法理論帶寬:

Theoretical Bandwidth=效地對算法進行加速,在累加和算法中采用最優化方法時GPU是CPU的14倍左右。

(2)結合GPU的硬件特點對大數據量的并行計算是非常有效的。當計算的數據量較小時,GPU算法中,啟動的線程計算量不滿載,大部分時間花在了系統調度開銷上,GPU并行計算的優勢沒有展現,時間與CPU計算時間差別不明顯;隨著計算的數據量增大,每個線程的計算漸漸滿載,時間花在系統調度的比例降低,GPU并行程度提高,加速比上升。=143.36GB/s (Tesla C2075內存時鐘為1120MHz,內存接口寬度為512 bit)。

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

除此之外,本論文還計算了采樣點=500個,CDP=20個的反射點旅行時,CPU與GPU運行效率對比如表1。

4 結論

(1)CPU的串行計算是通過多次循環逐一計算各點旅行時,因此時間為所有循環結束后的總時間,而GPU的并行計算時間為計算一點旅行時的時間加上主機與設備間互相傳遞參數的時間。當計算量小時,CPU與GPU的計算時間差別不大,但隨著計算量的逐漸加大,GPU的并行計算逐漸體現其優勢,它可以有

主站蜘蛛池模板: 91色国产在线| 91久久天天躁狠狠躁夜夜| 伊人激情综合| 免费av一区二区三区在线| av无码一区二区三区在线| 99久久精品国产麻豆婷婷| 亚洲天堂网在线播放| 亚洲一欧洲中文字幕在线 | 精品欧美日韩国产日漫一区不卡| 成人小视频网| 日韩欧美91| 大陆精大陆国产国语精品1024| 2020最新国产精品视频| 在线精品视频成人网| 欧美一级色视频| 一级爆乳无码av| 免费A级毛片无码无遮挡| 97久久超碰极品视觉盛宴| 全部毛片免费看| 欧美高清视频一区二区三区| 亚洲精品在线影院| 国产小视频网站| 麻豆精品在线| 思思99热精品在线| 日本一区高清| 午夜激情婷婷| 日本成人一区| 成人精品亚洲| 久久人人97超碰人人澡爱香蕉 | 国产第一页免费浮力影院| 一本大道视频精品人妻| 免费毛片全部不收费的| 伊人久综合| 999精品视频在线| 欧美在线视频a| 欧美成人亚洲综合精品欧美激情| 亚洲精品桃花岛av在线| 露脸一二三区国语对白| 久久久久国色AV免费观看性色| 国产白浆在线观看| 成人一级免费视频| 国产精品久久久久久久久久98 | 日韩精品成人网页视频在线| 影音先锋亚洲无码| 日本国产精品一区久久久| 91人妻日韩人妻无码专区精品| 免费观看成人久久网免费观看| 乱人伦99久久| 青青极品在线| 操国产美女| 99这里只有精品免费视频| 亚洲日韩Av中文字幕无码| 精品無碼一區在線觀看 | 中文毛片无遮挡播放免费| 青青久久91| 国产高清在线丝袜精品一区| 国产91精品久久| 成人小视频网| 国产福利影院在线观看| 国产一区在线视频观看| 天堂成人av| 国产欧美日韩在线一区| AV不卡国产在线观看| 一级香蕉人体视频| 中文纯内无码H| 国产高清又黄又嫩的免费视频网站| 在线亚洲精品福利网址导航| 9久久伊人精品综合| 午夜爽爽视频| jizz国产视频| 麻豆国产在线观看一区二区| 婷婷丁香在线观看| 国产欧美在线观看一区| 成年片色大黄全免费网站久久| 欧类av怡春院| 米奇精品一区二区三区| 午夜不卡视频| 青青操视频在线| 99视频在线免费观看| 超碰91免费人妻| 性喷潮久久久久久久久 | 国产欧美日韩综合在线第一|