<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 設計應用 > 多核時代:填補軟硬件之間的鴻溝

          多核時代:填補軟硬件之間的鴻溝

          ——
          作者: 時間:2007-09-26 來源:IT168 收藏
                  計算機硬件與軟件之間的互動已經發(fā)展了50年之久。但在過去,雙方的關系仍然保持一定的距離。往往是由硬件工程師研制出芯片之后,再扔給軟件程序員。而隨著的出現,硬件/軟件之間的聯系會變得更加緊密。芯片制造商們逐漸認識到,架構正在從根本上改變傳統(tǒng)的軟件生產模式——過去的軟件通常都是單線程的,要對它們進行改編使之適合多線程、多內核技術非常困難。因此,如果芯片廠商要想推廣自己的產品,就必須想方設法縮短硬件和應用之間的鴻溝。
           
                  芯片廠商的共識
              
                  事實的情況是正是如此。在某種程度上,英特爾、IBM、AMD、NVIDIA等芯片廠商都在跟ISV和研究機構加強廣泛合作,提供早期的硬件樣品、軟件支持及相關培訓。芯片制造商們已經通過編譯器和接口庫(processor interface libraries)等形式提供軟件支持,來幫助工具開發(fā)商處理芯片上越來越多的內核。
             
                   比如,IBM為其CELL提供軟件開發(fā)套件(SDK)和其他工具(參見:Cell寬帶引擎Linux擴展和軟件開發(fā)工具發(fā)布:http://publish.it168.com/2005/1122/20051122046901.shtml),IBM 還啟動了一個名為Octopiler的項目,使對Cell的編程更簡單。
              
                  AMD為其GPU編程引入名為“Close to Metal”的CTM技術,使開發(fā)者能夠隨意訪問AMD流處理器中的原生指令集和大規(guī)模并行計算單元的內存。利用CTM,流處理器就能夠像今天的中央處理器(CPU)一樣成為功能強大的開放式可編程架構。通過開放架構,CTM使開發(fā)者能夠對硬件進行低階、確定和可重復的訪問,這一能力是開發(fā)編譯器、調試器、數學庫和應用平臺等基本工具所必需的(參見:AMD發(fā)布針對流運算的CTM技術:http://publish.it168.com/2006/1120/20061120041201.shtml)。 
           



                 AMD 的CTM技術
              
                 NVIDIA則為其GPU產品提供了CUDA平臺,開發(fā)人員可運用Quadro系列解決方案的高速運算性能,以研發(fā)、設計原型以及解決復雜的可視化問題。在X86軟件支持方面,英特爾更是擁有非常廣泛的商業(yè)產品、軟件工具和教育培訓服務,來幫助開發(fā)人員更好地應對多核芯趨勢。針對大量存在的行業(yè)ISV,為了幫助其盡快的實現從單線程應用向多線程應用的轉變,英特爾投入大量資源,向業(yè)界提供編譯器、應用程序分析和調試、數學函數庫等軟件工具。 
           


                 NVIDIA CUDA技術架構輔助CPU進行運算功能
            
                  在高性能計算領域,這一策略已經變得更加清晰。最近的例子就是圍繞相對較新的IBM Cell BE和通用GPU處理器,涌現了許多開發(fā)工具。在這些芯片出廠之前,PeakStream和RapidMind等廠商就開始為新的加速器設備提供應用開發(fā)平臺。如果這些產品獲得成功,將在芯片廠商和軟件開發(fā)商之間就有望實現非常重要和關鍵的協(xié)同機制。下面,我們就以CELL和GPU在HPC中的應用為例,來看看其軟件開發(fā)方面存在的機遇和挑戰(zhàn)。

                 用GPU和CELL充當HPC加速器
              
                 使用GPU和CELL處理器來充當流處理加速器(stream processing accelerator),這一做法已經在HPC業(yè)界引發(fā)了相當的關注。人們可以通過這些處理器來實現應用加速,其目標領域包括3D可視化、廣播編碼、醫(yī)療成像、多媒體內容創(chuàng)作、圖像和信號處理、金融財務分析、地震資料處理、大規(guī)模數據庫交易和企業(yè)科研,幾乎適用于所有要求強勁計算性能的數據密集型應用。這些多核加速器在HPC領域里的廣泛適用性,已經吸引了軟件開發(fā)商的關注。
              
                 早在去年9月份,Peaksteram公司就推出了一種“基于GPU顯卡來構建超級計算機”的解決方案——該公司的C/C++程序接口、虛擬機處理任務調度和內存管理等工具軟件,為程序員提供一種方便的途徑,利用多內核x86或Cell處理器和GPU組成聯合系統(tǒng)。編程人員可以象以往那樣使用C/C++ 語言編寫程序,PeakStream的軟件負責硬件資源的分配。雖然客戶必須根據PeakStream軟件的接口對應用軟件進行改編,但跟搞明白圖形卡或其它硬件產品的內部原理來說,還是要簡單得多。如其今年3月發(fā)布的PeakStream Workstation for Windows包含了一系列工具和庫文件,可以方便開發(fā)者在微軟的Visual Studio下為顯卡開發(fā)多線程通用運算程序。 
           


                 PeakStream軟件架構
              
                 RapidMind是加拿大的一家為多核平臺(GPU/Cell等)提供編程環(huán)境的公司,近期也推出了類似的平臺,宣稱能夠支持IBM CELL處理器以及最新的NVIDIA、 AMD/ATI GPU產品在HPC領域里的應用,并表示不久就會支持多核X86處理器。RapidMind提供C++的編程環(huán)境,對C++進行了一些擴展,比如特殊的數據類型,以及數字圖像處理、游戲編程等庫函數。目前來看,PeakStream使用的技術和RapidMind非常相似,都是C/C++和library方式,都是Array Programming Model,都是動態(tài)編譯,都提供虛擬機。
             
                  除了商業(yè)公司,科研人員也正在研究新的基于CELL的加速器技術。今年4月份,中國科學院(CAS)計算機網絡信息中心和IBM在國內合作的第一臺基于Cell BE(Broadband Engine, 寬帶引擎)的刀片服務器系統(tǒng)開始投入運行。在早期的系統(tǒng)測試中,中國國家網格(CNGrid)和IBM聯合組建的測試團隊通過進行一系列優(yōu)化軟件和Cell BE的硬件潛力開發(fā),將地震應用的計算速度提高了60倍。地震預報專家將可以在短短幾分鐘內得到以往需要數個小時才能得到的計算結果。(參見:國內首臺Cell刀片服務器落戶中科院http://publish.it168.com/2007/0416/20070416034401.shtml) 
            


                 IBM的CELL刀片系統(tǒng)
              
                 在美國的田納西州大學,Jack Dongarra和他的小組在創(chuàng)新計算實驗室(Innovative Computing Laboratory)中安裝了基于IBM CELL 處理器的系統(tǒng)——跟中科院使用的刀片系統(tǒng)不同,這是一套由4個節(jié)點子系統(tǒng)組成的PlayStation3 (PS3)集群,用作科學計算的研究平臺。僅僅花費了2400美元,他們就構建了這套可以提供600 Glops(單精度浮點運算)峰值性能的系統(tǒng)。盡管PS3從來都不是專門針對高性能計算機群節(jié)點來設計的,但其低廉的價格和可用性還是得到了一些正在尋求低成本FLOPS的HPC  FANS的青睞。值得一提的是,田納西州大學小組正在評估PS3機群的編程模型,及該架構對HPC的某些限制。

                 CELL處理器用于HPC的局限性
              
                 在測試過程中,田納西州大學的科研人員編撰了一份關于使用PlayStation 3作為HPC平臺的技術報告——《A Rough Guide to Scientific Computing On the PlayStation 3》(感興趣的讀者可以從這里下載:http://www.netlib.org/utk/people/jackdon garra/papers/scop3.pdf)。對于那些對使用CELL處理器進行技術計算比較陌生的開發(fā)人員來說,這份報告有必要一讀。 
           


                 田納西州大學科研人員用PS3搭建機群
              
                 該報告描述了CELL芯片和PS3的硬件性能、可支持的系統(tǒng)軟件,以及如何來組建一套實驗室用的PS3機群。它還探討了相關的編程技巧,并提供了一些實際的應用案例。最實用的一部分是,它討論了針對CELL架構的許多商業(yè)和科研軟件平臺。盡管這份報告沒有闡述跟CELL/PS3軟件開發(fā)相關的全部細節(jié),但它確實盡力給出了關于當前可用技術的總體框架性說明。下面這段引自該報告的引言部分:

                 “用PS3來做科學計算,聽起來很讓人振奮,但其實卻是坎坷之途。針對多核處理器的并行編程模型還只是處于襁褓階段,標準的API甚至還沒有出現。這導致的結果是,當前,我們只能通過手寫代碼來充分挖掘CELL處理器的硬件性能。[編者按:RapidMind公司可能會相當不同意這點。]總的來看,由于該處理器處理性能和互連通信速度之間極不平衡,從而嚴重削弱了PS3平臺用做科學計算的適用性,詳見9.1章節(jié)。不過,CELL處理器仍然是一個具有革命性的芯片,提供了突破性的強大性能,而且售價也不貴。我們希望這份報告能夠讓CELL的道路變得更平坦一些?!?
             
                  該報告對PS3用于科學計算的局限性進行了相當精彩的探討,包括內存帶寬和容量、網絡連接速度以及浮點運算方面的缺陷。該報告的姊妹篇則進一步討論了這些問題的更多技術細節(jié)——《Limitations of the PlayStation 3 for High Performance Cluster Computing》(感興趣的讀者可從這里下載:http://www.netlib.org/utk/people/jackdon garra/papers/ps3-summa-2007.pdf)。在下一代的處理器中,那些限制CELL用于科學計算的浮點運算方面的缺陷,可能會得到解決。根據田納西州大學的報告,在下一代浮點運算方面,IBM公司正在計劃將雙精度性能(double-precision performance)從14Glops提升到102Glops,但沒有說明IEEE 754浮點支持問題是否也會得到解決。

                  GPU面臨類似的問題
             
                  GPU是另一個例子。跟主流的CPU相比,GPU的原始浮點性能要強勁得多。比如,3GHz的奔騰4運算能力大約為6GFLOP(10億次浮點運算每秒),Woodcrest最高可達24GFLOP,四路雙核安騰2系統(tǒng)運算速度可達45GFLOP。而GPU要領先的多,比如ATI高端的X1950 XTX處理器運算速度為375GFLOP,雙顯卡模式達到750GFLOP,相當于31個Xeon 5100處理器;Nvidia的Geforce 7950 GX2雙GPU顯卡也能達到384GFLOP。 
           



                  GPU與CPU之間的性能對比
              
                  當然,浮點性能只是一方面,GPU要完全取代CPU還有很大的距離。GPU可以在部分急需數學計算的領域表現出色,但是GPU內部緩存遠小于CPU,因此,CPU可以存儲預測和非預測指令,GPU則無法做到。AMD和NVIDIA都在準備新一代GPGPU產品,分別基于R600和G80,NVIDIA將G80用于GPU計算,AMD將R600用于流計算,這種產品在PCB上集成盡可能多的內存,而輸出接口只有1個DVI。NVIDIA有可能在Computex 2007大會上發(fā)布GPGPU版的G80產品,同時發(fā)布正式版的CUDA SDK以配合GPGPU版的G80。
              
                  而且,GPU也面臨跟CELL類似的浮點運算局限性。如果NVIDIA和AMD想將GPU成功引入科學計算市場,它們就必須就相應設備的浮點問題做出某些決定。當前,這二者都無法提供任何雙精度硬件(double precision hardware),IEEE 754兼容性問題也還沒有得到完全解決。然而,NVIDIA最新的G80設備已經開始支持rounding modes、overflow和NaN。
              
                  這里的問題是,為了支持GPU的科學浮點運算性能,NVIDIA和AMD在改進GPU架構方面會走多遠?另外,GPU工程師還不得不考慮內存糾錯、低功耗等方面的問題,以提供更強壯的HPC方案。
             
                   綜上所述,隨著多核時代的到來,為了平衡應用需求和硬件性能之間的緊張關系,英特爾、IBM、AMD、NVIDIA等芯片廠商已經開始做更多的工作——編譯器、接口庫、軟件工具等等,甚至通過GPU和CELL等“另類”的方法來提供HPC應用加速技術。一些軟件廠商如PeakStream和RapidMind等,也企圖借機填補多核硬件與并行軟件之間的巨大鴻溝。


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();