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

GPU的現在與未來

2011-11-09 13:43:26王鵬謝強
中國教育網絡 2011年11期
關鍵詞:程序優化

文/王鵬 謝強

GPU的現在與未來

文/王鵬 謝強

GPU代表了目前高性能計算的最前沿,對科學及工程計算正在產生著深遠的影響。

異構計算介紹

自2004年以來,由于功耗和存儲器速度等原因,CPU單核的性能已經幾乎停止提升。所以最近幾年所有的新CPU都是靠不停增加核的數目來提高芯片的整體性能。這使得多核并行計算成為所有開發人員都必須要面對的問題。因此什么樣的多核體系結構更適合并行計算成了一個重要問題。

從體系結構的觀點來看,CPU本質上是一種針對延遲(latency)優化的體系結構。它的首要設計目標是優化單線程的執行性能。與此對應的趨勢是針對吞吐量(throughput)優化的眾核體系結構。比如Sun的Niagara處理器,IBM的Cell處理器,以及nVIDIA的圖形處理器(GPU)。簡單地說,吞吐量優化處理器的策略是降低單線程的性能但以在眾核上同時運行大量線程的方式來提高總體處理能力(高吞吐量)。因此吞吐量優化處理器的總體性能往往比延遲優化處理器高得多。比如最新GPU的浮點峰值通常是最新CPU的十倍以上。

在2004年之前,吞吐量優化處理器主要被用于對性能要求極高的特殊類型應用,如計算機圖形學(GPU與Cell)或大規模數據庫處理(Niagara)。歷史上這些領域對性能幾乎無止境的需求推動了吞吐量優化處理器性能的快速提升。在并行計算成為必須之后,由于吞吐量優化處理器更高的性能,很多開發人員開始認識到它們是一種對很多并行應用更適合的體系結構。所以近年吞吐量優化處理器在通用并行計算中變的越來越重要。

一個實際的應用往往包括需要低延遲的部分(如輸入輸出邏輯控制)和需要高吞吐量的部分(如核心算法計算)。因此無論是延遲優化處理器還是吞吐量優化處理器都不是普適的理想方案。異構計算(heterogeneous computing)的核心想法就是優化使用資源,用合適的工具來解決合適的問題。程序需要低延遲的部分就在CPU上計算,需要高吞吐量的部分就在GPU上計算。實踐證明對很多大計算量的應用使用異構計算技術都可以得到非常顯著的性能加速。比如圖形圖像處理,視頻處理,分子動力學,地質勘探,流體力學,數據挖掘,生物信息學等都是適合異構計算的應用。

使用GPU的異構計算在高性能計算中已是一種主流技術。比如Top500前五名有三臺機器都是GPU異構集群。美國橡樹嶺國家實驗室剛宣布了他們計劃在2012年用nVIDIA的GPU來搭建一臺峰值20 Pflop/s的集群。在我國,天津超算中心2010年使用了7168個nVIDIA的GPU搭建了峰值4.7 Pflop/s,Linpack實測性能2.57 Pflop/s的天河1A系統。這套系統在2010年的Supercomputing大會上排在了Top500的第一名。

圖1 GPU體系結構示意

GPU體系結構

順應并行計算的潮流,近年來nVIDIA對GPU體系結構進行了很多針對通用并行計算的創新。在今天,nVIDIA的Tesla GPU已是一款專門針對通用并行計算設計的完全可編程眾核芯片。只是因為歷史原因,我們仍稱其為GPU。

處理器市場的傳統并行架構主要分為MIMD(多指令多數據流)與SIMD(單指令多數據流)兩種,各有其優缺點。SIMD性能更高但MIMD更靈活。GPU是一種綜合MIMD與SIMD兩種架構優點的新并行架構。如圖1所示,GPU由多個流多處理器(SM)構成,每個SM包含多個核。每個SM類似于一個SIMD處理器。但與傳統SIMD有一個重要區別:SM上的不同的線程既可執行同樣的指令,也完全允許執行不同的指令,只是前者性能更高。這就兼顧了SIMD的高性能與編程的靈活性。這種更靈活的SIMD架構稱為SIMT(Single Instruction Multiple Thread)架構。此外,每個SM有自己完全獨立的指令調度器,因此簡單的說GPU是由多個SIMT構成的MIMD處理器。

以nVIDIA最新Fermi架構的Tesla M2090 為例,它由16個SM組成。每個SM包含32個核。每個核可以在一個時鐘周期進行最高兩次單精度或一次雙精度浮點運算。因此在1.3GHz的時鐘頻率下,一個M2090的512個核加起來就有1.33 Tflop/s的單精度峰值性能以及665 Gflop/s的雙精度峰值性能。這是目前最新多核CPU浮點性能的近10倍左右。M2090的內存總線寬度為384位,內存頻率1.84GHz, 使得內存帶寬達到177 GB/s的峰值。這是最新CPU的5倍以上。因此無論是計算密集型還是內存密集型的應用,都可以在GPU上得到顯著的加速。

GPU已被大量科研與工業用戶采用來顯著提升程序性能。在科研領域,尤其在地球科學,生物醫藥,航空航天,天文,核科學,材料科學,金融等計算需求較大的學科,GPU的使用已經非常普遍。

GPU編程模型

nVIDIA在2007年推出了在GPU上的并行編程模型CUDA。CUDA編程環境在nVIDIA的網站上可以免費下載。與很多以前的并行計算環境不同,CUDA開發并不只在高端的集群上才能進行。大量的普通筆記本或臺式機電腦,只要有nVIDIA顯卡,都可以進行CUDA的開發。一個CUDA程序完全可以在普通電腦上調試開發,完成了再放在高端GPU集群上運行,程序不需要任何修改。

CUDA并不是一個全新的編程語言,而是類似OpenMP那樣的對C/C++語言的一個簡單擴展。CUDA程序的執行方式也很類似OpenMP。程序初始在CPU上以單線程執行,也許進行一些輸入輸出及邏輯控制計算。當執行到一個耗時的并行函數時,程序就會在G P U上產生大量線程執行。GPU上的計算結束后控制又會回到單線程的CPU程序,直到遇到下一個耗時的并行函數。

由此我們可以看到,以C/C++和Fortran寫的應用如果想在GPU上加速,就只需要把耗時的函數用CUDA移植,而代碼其他部分完全不用修改。很多代碼量大的程序,其實耗時部分的代碼量往往遠小于總代碼量。這種情況下往往很快就能把應用移植到GPU達到顯著加速。

對于用MPI寫的并行程序,移植到GPU集群上其實與移植單進程程序到GPU上并無本質區別。在這方面CUDA也類似OpenMP,它只是加速每個MPI進程的計算而不涉及節點間的通信。所有的節點之間的通信,完全是使用已有的MPI框架。所以只要把單進程的計算移植到CUDA上,絕大多數情況下就自動有了一個可以在GPU集群上運行的MPI-CUDA程序。

所以總結來說,CUDA具有普遍可得的開發環境,移植時只需修改耗時部分的代碼,不用對程序其它部分包括MPI框架進行修改。這些特性保證了大量已有的程序可以快速地移植到GPU集群上。這是CUDA迅速被廣大開發人員接受得到廣泛應用的重要原因。

除了CUDA外,開發人員也還有很多其它選擇。如OpenCL是一個類似CUDA的GPU編程標準。微軟也推出了針對GPU的編程語言DirectCompute以及即將推出的C++ AMP語言。PGI Fortran允許開發人員直接用Fortran的語法寫GPU kernel。PGI accelerator類似OpenMP, 開發人員只需要在耗時的循環外插入一些pragma,就能將其移植到GPU上。HMPP是類似PGI accelerator的另一種解決方案。PyCUDA是Python的CUDA接口。此外,P G I最近還發布了CUDA-x86。這個產品可以把CUDA代碼編譯在x86 CPU上執行。這樣一個代碼版本就可以既在GPU又在CPU上運行??偠灾?,GPU有十分豐富的編程環境,可以滿足不同開發人員的各種需求。

應用簡介

GPU已被大量科研與工業用戶采用來顯著提升程序性能。

在科研領域,尤其在地球科學、生物醫藥、航空航天、天文、核科學、材料科學、金融等計算需求較大的學科,GPU的使用已經非常普遍。只要翻一翻各個計算科學領域的頂級雜志,GPU計算的相關論文比比皆是。比如高性能計算著名的Gorden-Bell獎近兩年的獲獎論文都是GPU上并行化的工作。全世界有上千所大學已開設CUDA編程課程,CUDA已成為很多科研人員的一項基本技能。此外,科研人員中十分流行的工具Matlab與Mathematica也已經被移植到了GPU上,使得GPU在科研中的使用變得更容易。

石油領域因其對巨大計算量的需求,是最早采用GPU的用戶之一。GPU可以使地震資料的處理方法如疊前時間偏加速幾倍以上。更重要的是,只有在GPU出現后,采用更精確但更耗時的算法如逆時偏才變的有可能。所以目前世界上很多主要石油公司包括國內的中石油都在使用GPU的解決方案。

在分子動力學領域,由于粒子算法的高度并行性,幾乎所有重要的分子動力學軟件都已被移植到了G P U,如A m b e r,NAMD, Charmm, LAMMPS,Gromacs等。它們的性能加速往往在十倍甚至幾十倍左右。中科院過程工程所最近在天河1A上用自主開發的GPU程序進行了世界上性能最高的多體分子動力學模擬,單精度性能達到了1.87 Pflop/s。

生物信息學作為一門數據驅動的學科,大量算法具有高度數據并行性。因此GPU是十分合適的并行計算工具。比如世界最大的基因測序公司北京華大基因在他們2011年7月份的Bio-IT大會上已宣布的他們很多重要的處理軟件都已移植到了GPU上。GPU使華大基因可以以十倍以上的速度處理龐大的基因測序數據。

計算機輔助工程(CAE)領域的主要算法是有限元,有限差分及數值代數等。這些算法大多數都有高度并行性,因此都比較適合GPU。幾乎所有的主流商業有限元分析軟件都已支持GPU,包括Ansys, Abaqus,LS-Dyna等。使用GPU可以使有限元分析的速度提高2倍以上。此外在國內,比如上海交大的林新華老師小組將流體程序NS3D移植到GPU,達到了30倍以上的加速。南京航空航天大學的韓景龍教授小組機翼分析的流體程序在GPU上達到20倍以上的加速。中科院力學所的離散元計算力學軟件,更是達到了上百倍的加速效果。

以上只是一個簡單介紹,實際GPU的使用遠遠超出這些范圍并且發展十分迅速。

GPU計算展望

GPU的性能提升僅僅是個開始。比如nVIDIA下一代的Kepler 架構GPU,浮點峰值預計在現有Fermi架構上會提升3倍左右。而Kepler之后的Maxwell架構,預計可以比Kepler再提升2到3倍。

G P U代表了目前高性能計算的最前沿。對科學及工程計算正在產生著深遠的影響。我國已具備了GPU計算世界上最好的硬件天河1A,因此發展GPU高性能計算軟件已經有了良好基礎。由于CUDA從推出到現在還不到四年,尚有大量的創新研究應用工作需要開展。對我國高性能計算來說應用GPU的異構計算是一個迅速走到高性能計算應用創新國際前沿的不可錯過的機會。

(作者單位為nVIDIA公司)

猜你喜歡
程序優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 国产成人永久免费视频| 波多野结衣中文字幕久久| 日本免费a视频| 日韩精品毛片人妻AV不卡| 色偷偷一区| 亚洲最大情网站在线观看| 国内老司机精品视频在线播出| 91区国产福利在线观看午夜| 国产人在线成免费视频| 久久综合成人| 亚洲欧美激情小说另类| 伊人欧美在线| 欧美亚洲日韩中文| 久草网视频在线| 午夜小视频在线| 欧美中文字幕无线码视频| 国产丝袜精品| 国产成人综合亚洲欧洲色就色| 中文字幕啪啪| 亚洲欧美一区二区三区图片| 精品精品国产高清A毛片| 老司国产精品视频| 久久精品娱乐亚洲领先| 亚洲中文字幕无码mv| 高h视频在线| 亚洲无码A视频在线| 中文无码精品a∨在线观看| 蝌蚪国产精品视频第一页| 99精品国产电影| 久久精品国产国语对白| 色综合a怡红院怡红院首页| 色首页AV在线| 香蕉视频在线精品| 国产在线视频欧美亚综合| 57pao国产成视频免费播放| 欧美天堂久久| 久久久精品无码一二三区| 亚洲中文字幕在线精品一区| 婷婷亚洲最大| 国产成人精品一区二区三区| 亚洲无线一二三四区男男| 91视频免费观看网站| 黄色网址手机国内免费在线观看 | 国产免费久久精品99re不卡 | 久久网欧美| 免费亚洲成人| 欧美亚洲国产精品久久蜜芽| 精品无码日韩国产不卡av | 亚洲视频无码| 麻豆AV网站免费进入| 成人在线观看不卡| 亚州AV秘 一区二区三区| 日韩欧美高清视频| 亚洲中字无码AV电影在线观看| 亚洲精品自产拍在线观看APP| 亚洲美女视频一区| 亚洲第七页| 无码综合天天久久综合网| 色噜噜综合网| 狠狠ⅴ日韩v欧美v天堂| 国产丰满大乳无码免费播放| 99热国产在线精品99| 成人免费网站在线观看| 一级爱做片免费观看久久 | 无码中文AⅤ在线观看| 中文字幕在线视频免费| 精品国产免费第一区二区三区日韩| 亚洲久悠悠色悠在线播放| 欧美色图第一页| 日韩国产黄色网站| 国产成人区在线观看视频| 97久久精品人人| 精品福利视频网| 久久国产精品77777| 免费高清毛片| 毛片在线看网站| 五月天福利视频| 67194在线午夜亚洲| 麻豆精品视频在线原创| 无码福利日韩神码福利片| 精品久久蜜桃| 国产91丝袜在线播放动漫 |