天天看點

從CPU到GPU 未來計算應用誰主沉浮?

    時代在變,資訊技術也在變。在計算機系統中處于計算和控制核心地位的 處理器 ,也在應用中出現了傳統中央處理器以外的部件。在本文,我們會從 CPU 到GPU,乃至APU和MIC進行應用分析,并展望未來誰将主導未來計算應用市場。

    在談及計算機的時候,我們就不能不談計算機的核心——中央處理器CPU。CPU在整個計算機系統裡面屬于運算核心和控制核心部件,負責解釋和執行計算機指令、處理資料。CPU在計算機裡面處于核心地位,不僅是包括其擔負的職責和功能,而且也包括它直接決定着這個計算機系統的架構和作業系統的類型。

    CPU可以按指令集、應用場景和核心數等不同标準進行分類。按指令集可以分為精簡指令集(RISC)與複雜指令集(CISC)系統。前者包括有SPARC系列、Power系列、ARM系列等;後者包括AMD、Intel、VIA等的x86架構的CPU。應用場景則主要包括桌上型電腦、伺服器和移動裝置。根據應用場景的不同,在處理器的功耗、核心數、線程和緩存、指令集方面,各不相同。

從CPU到GPU 未來計算應用誰主沉浮?

    然而,随着資訊技術的進步和應用的日益豐富,長期占據配角的顯示卡,其核心處理器——圖形處理器GPU也逐漸發揮更多作用,不斷湧現在人們的關注焦點之中。

    GPU是Graphic Processing Unit的簡稱,它直接決定了計算機顯示卡的性能表現和産品品質。尤其是在圖形渲染、3D動畫制作等工作站、高性能計算領域,都嚴重依賴GPU的功能(有助于減少對CPU計算性能的依賴,分擔CPU的計算渲染工作)。

    CPU和GPU本是連個互不相同的領域,它們有着各自的廠商。然而,傳統的老牌晶片廠商AMD,将CPU和GPU合二為一,推出了獨一無二的APU産品。APU是Accelerated Processing Unit的簡稱,中文名為“加速處理器”。它是AMD“融聚未來”理念的産品,它第一次将中央處理器和獨顯核心做在一個晶片上,同時具有高性能處理器和獨立顯示卡的處理性能,支援DX11遊戲和最新應用的“加速運算”,可大幅提升電腦運作效率,實作CPU與GPU的真正融合。

    與此相對應的是,Nvidia也順應了這種從單一使用CPU向CPU與GPU并用的“協同處理器”發展趨勢,打造了CUDA統一計算裝置架構(Compute Unified Device Architecture),允許程式設計者充分利用CPU和GPU的各自優點,開發出更加高效的應用平台。CUDA的廣泛應用造就了GPU計算專用Tesla GPU的崛起,并且在全球已經擁有超過700多個GPU叢集。

從CPU到GPU 未來計算應用誰主沉浮?

英特爾至強融核協處理器

    既然提到了GPU叢集和加速處理器,就自然不能忽略今年英特爾最新推出的“至強融核”(Intel Xeon Phi)協處理器。該處理器相容x86程式設計模型,能夠為高性能計算進一步實作優化,通過與強大靈活高效的至強處理器平台協同,能夠獲得10Petaflops(萬萬億次浮點計算)級别的超級計算能力。

    下面,我們分别對CPU、GPU、APU和MIC(Xeon Phi)進行分析介紹,并将在本文最後進行綜合對比分析,探讨未來的計算應用誰主沉浮……

品牌:Intel 伺服器CPU 

從CPU到GPU 未來計算應用誰主沉浮?

計算應用核心地位 非CPU莫屬

    下面,我們陸續對這些處理器進行講解。 在介紹CPU的時候,我們有必要談談其發展曆史。早期計算機,比如史上第一台電子計算機ENIAC,它們都通常會根據任務的不同,通過實體連接配接來執行相應的認任務。是以,這些計算機也通常被稱為“固定程式計算機”。那時候的CPU被定義為處理軟體執行的裝置,早期真正意義上的CPU其實是與“存儲程式計算機”一同出現的。

從CPU到GPU 未來計算應用誰主沉浮?

從業人員在操作ENIAC主要制面闆

    CPU可劃分成半導體和內建電路的CPU與微處理器CPU兩種。上世紀五十年代至六十年代期間,半導體CPU體積得到大幅縮減,使得能夠更為複雜、更為可靠的CPU能夠建構在一個或者多個印刷電路闆上。

從CPU到GPU 未來計算應用誰主沉浮?

DEC PDP-8/I的CPU、記憶體核心和外部總線接口(中等規模內建電路)

    在微處理器方面,CPU的曆史可以追溯到1971年。當時英特爾推出半導體數量為2300顆的首個商用處理器4004微處理器,該處理器奠定了PC和智能系統發展的基礎。   

從CPU到GPU 未來計算應用誰主沉浮?

英特爾80486DX2微處理器(圖檔來自維基百科)

    在CPU發展史中,也包含有AMD、IBM和SPARC、ARM等品牌的産品,不過我們可從英特爾的CPU發展程序來大體了解整個CPU的發展概況。英特爾的Tick-Tock模式,以制程和架構交替更新來不斷提升CPU的性能,突破性能瓶頸,滿足不斷變化增長的計算能力需求。

    進入新世紀以來,CPU進入了更高速發展的時代,以往可望而不可及的1GHz大關被輕松突破。在市場分布方面,仍然是Intel和AMD公司兩雄争霸。而在企業級市場,尤其是在伺服器和高性能計算領域,則以英特爾的至強系列、IBM的Power系列和AMD的皓龍系列著稱。

    簡要介紹了CPU的發展情況之後,下面我們來談談它在計算機中扮演的角色。CPU通常都具有以下幾個方面的基本功能:

  1. 指令順序控制

  這是指控制程式中指令的執行順序。程式中的各指令之間是有嚴格順序的,必須嚴格按程式規定的順序執行,才能保證計算機工作的正确性。

  2. 操作控制

  一條指令的功能往往是由計算機中的部件執行一序列的操作來實作的。CPU要根據指令的功能,産生相應的操作控制信号,發給相應的部件,進而控制這些部件按指令的要求進行動作。

  3. 時間控制

  時間控制就是對各種操作實施時間上的定時。在一條指令的執行過程中,在什麼時間做什麼操作均應受到嚴格的控制。隻有這樣,計算機才能有條不紊地自動工作。

  4. 資料加工

  即對資料進行算術運算和邏輯運算,或進行其他的資訊處理。

    在多核和制程已經達到22nm級别工藝的當代,CPU的發展速度十分驚人。不僅能遠遠滿足以往的各種繁重資料查詢、處理和順序串行計算,而且通過多個多核處理器,也能勝任各種并行計算需求。在不遠的将來,由于并行計算的廣闊前景,CPU更多的會以多處理器架構或者CPU+GPU異構計算來實作。在這一點上,未來計算應用的核心地位,非CPU所能撼動。

從CPU到GPU 未來計算應用誰主沉浮?

後起之秀 GPU高性能需高能耗

  剛才我們提到并行計算,其實這恰恰是GPU的優勢所在。GPU是顯示卡的“心髒”,有時也被稱為VPU(visual processing unit)。它相當于CPU在電腦中的作用,它決定了該顯示卡的檔次和大部分性能,同時也是2D顯示卡和3D顯示卡的差別依據。

    GPU(圖形處理器)可用于嵌入式系統、行動電話、個人電腦、工作站、遊戲機,甚至某些大型計算機叢集等。GPU已經不再局限于3D圖形處理了,GPU通用計算技術發展已經引起業界不少的關注,事實也證明在浮點運算、并行計算等部分計算方面,GPU可以提供數十倍乃至于上百倍于CPU的性能。

從CPU到GPU 未來計算應用誰主沉浮?

GeForce 6600GT (NV43) GPU

  GPU通用計算方面的标準目前有OPEN CL、CUDA、ATI STREAM。其中,OpenCL(全稱Open Computing Language,開放運算語言)是第一個面向異構系統通用目的并行程式設計的開放式、免費标準,也是一個統一的程式設計環境,便于軟體開發人員為高性能計算伺服器、桌面計算系統、手持裝置編寫高效輕便的代碼,而且廣泛适用于多核心處理器(CPU)、圖形處理器(GPU)、Cell類型架構以及數字信号處理器(DSP)等其他并行處理器,在遊戲、娛樂、科研、醫療等各種領域都有廣闊的發展前景。

  GPU的出現的時間明顯要晚于CPU,而且GPU最早還是由著名的圖形顯示卡公司——NVIDIA,在1999年釋出 GeForce256圖形處理晶片時首先提出GPU的概念。

從CPU到GPU 未來計算應用誰主沉浮?

 GeForce GTX 275 GPU

    介紹GPU發展曆史,就不能不提1983年英特爾公司推出的 iSBX 275,它是iSBX多子產品闆,插在iSBC系列單闆上,由它提供黑白或彩色圖形顯示功能。在闆上安裝的82720圖形顯示控制器(GDC)的控制下,直接可支援直線、圓、點、弧、矩形、區域填充等進階繪圖指令。進而給使用者繪圖工作帶來便利,同時減輕了主CPU的負擔。

從CPU到GPU 未來計算應用誰主沉浮?

 Amiga 1000

    1985年,首個配備有GPU功能的PC——Commodore Amiga面世。該GPU支援畫線,區域填充,并包含流處理器可加快操作,并結合多個任意位圖功能。1986年,德州儀器釋出了首個内嵌圖形處理能力的微處理器——TMS34010,它可以運作通用代碼,但還是側重于面向圖形處理的指令集。1990-1991年間,該晶片奠定了Windows加速卡圖形架構( TIGA )的基礎。

從CPU到GPU 未來計算應用誰主沉浮?

基于TMS34020晶片的TIGA架構

    1987年,IBM 8514圖像系統釋出,成為了IBM PC相容2D圖像處理器的首個視訊卡。1993年,S3 Graphics推出了第一款單晶片的2D圖像加速器,名為S3 86C911。其後,86C911催生了大量的仿效者。随着OpenGL API和DirectX類似功能的出現,GPU增加了可程式設計着色的能力。現在,每個像素可以經由獨立的小程式處理,當中可以包含額外的圖像紋理輸入,而每個幾何頂點同樣可以在投影到螢幕上之前被獨立的小程式處理。

  GPU使顯示卡減少了對CPU的依賴,并進行部分原本CPU的工作,尤其是在3D圖形處理時。GPU所采用的核 心技術有硬體T&L、立方環境材質貼圖和頂點混合、紋理壓縮和凹凸映射貼圖、雙重紋理四像素256位 渲染引擎等,而硬體T&L技術可以說是GPU的标志。但随着GPU處理能力的提升,其耗電需求也更加明顯,而且比目前的CPU消耗更多的電源。

    目前市場上生産GPU的廠家,主要包括英特爾、AMD和NVIDIA、Matrox、S3 Graphics等。

從CPU到GPU 未來計算應用誰主沉浮?

博采衆長 APU蓄勢待發

  在近期召開的Hot Chips大會上,AMD宣布計劃在微處理器設計上采用一種新的嘗試,使用高密度等方法來改進其代号為Excavator和Bulldozer系列處理器的性能,而這些技術通 常都是應用在GPU産品設計上面。

  從中我們也不難看出,通過收購ATI,利用已有的CPU制造技術和收購獲得的GPU技術,實作CPU與GPU的真正融合,推出了APU加速處理器産品。

從CPU到GPU 未來計算應用誰主沉浮?

AMD APU“融聚”(Fusion)處理器

  APU(Accelerated Processing Unit)中文名字叫加速處理器,是AMD“融聚未來”理念的産品,它第一次将中央處理器和獨顯核心做在一個晶片上,它同時具有高性能處理器和最新獨立顯示卡的處理性能,支援DX11遊戲和最新應用的“加速運算”,大幅提升了電腦運作效率,實作了CPU與GPU真正的融合。

    AMD的APU平台分兩種,一種是此前已經能在市面上買到的E系列入門級APU,一種是近期才在歐美市場正式上市的A系列主流級APU,A系列APU分A4/A6/A8三大系列。其最早推出APU産品,是去年1月的AMD Fusion系列處理器,面向主流市場的Llano APU在去年6月推出。

    其實,我們更關心AMD的Fusion APU能否應用在未來的伺服器市場上。AMD伺服器工作站産品市場總監John Fruehe曾經表示,“AMD早就準備這麼做了。”目前還僅限于消費級市場(桌面和移動終端)的APU,如果要想進入伺服器市場,勢必要跨越軟體層面的生态系統建構。因為傳統的作業系統和各種應用軟體,都是基于處理器的類型來獲得支援。

從CPU到GPU 未來計算應用誰主沉浮?

軟硬并舉 GPGPU高效易用

    傳統CPU廠商AMD,通過收購ATI獲得圖形處理器方面的更多技術,玩了一把CPU和GPU融合、博采衆長的絕藝。而同為競争對手的NVidia,也同樣推出了基于自身技術的通用并行計算架構平台CUDA,以及基于該架構的GPGPU通用計算圖形處理器。

    CUDA是Compute Unified Device Architecture的簡稱,它包含了CUDA指令集架構(ISA)以及GPU内部的并行計算引擎。它有助于傳統GPU獲得更高的解決複雜計算問題的能力。也是類似AMD推出的CPU+GPU融合的通用并行計算解決方案。

從CPU到GPU 未來計算應用誰主沉浮?

基于CUDA的Tesla GPU

    從CUDA體系結構的組成來說,包含了三個部分:開發庫、運作期環境和驅動(如下圖所示:兩種API)。開發庫是基于CUDA技術所提供的應用開發庫。運作期環境提供了應用開發接口和運作期元件,包括基本資料類型的定義和各類計算、類型轉換、記憶體管理、裝置通路和執行排程等函數。驅動部分基本上可以了解為是CUDA-enable的GPU的裝置抽象層,提供硬體裝置的抽象通路接口。

從CPU到GPU 未來計算應用誰主沉浮?

軟體層面CUDA架構圖

從CPU到GPU 未來計算應用誰主沉浮?

硬體層面CUDA架構圖

    CUDA是用于GPU計算的開發環境,它是一個全新的軟硬體架構,可以将GPU視為一個并行資料計算的裝置,對所進行的計算進行配置設定和管理。在CUDA的架構中,這些計算不再像過去所謂的GPGPU架構那樣必須将計算映射到圖形API(OpenGL和Direct 3D)中。

從CPU到GPU 未來計算應用誰主沉浮?

CUDA提供兩種API(Runtime API和Driver API)

    衆所周知,GPU在處理密集型資料和并行資料計算方面優勢比較明顯。是以,CUDA也比較适合大規模并行計算應用領域,比如光影處理、金融分析、醫療成像、油氣勘探、地理資訊、基因分析和科學計算等等。

從CPU到GPU 未來計算應用誰主沉浮?

CUDA架構特點

    在高性能計算領域,基于NVIDIA圖形處理器(GPU)上的并行計算體系架構,CUDA技術能夠給伺服器和工作站帶來更強性能的同時,也能夠與基于CPU的伺服器叢集進行異構,并降低應用軟體開發門檻。

從CPU到GPU 未來計算應用誰主沉浮?

衆核時代 MIC開啟高并行計算時代

    同為 處理器 業界廠商、而且長期占據頭把交椅的英特爾,自然也不會閑着。雖說英特爾在中低端也有自己的GPU 産品 ,而且在2年前也推出了将GPU和 CPU 融為一體的産品,但它并不是第一個、也不是唯一一個推出這種整合方案的廠商。而且相比其他廠商目前的整合方案,英特爾在GPU市場上的差距還有一大截。

    然而,英特爾很聰明,它懂得将自己的優勢發揮得淋漓盡緻。早在2010年全球TOP500榜單釋出的時候,英特爾也正式宣布了其第一款MIC(Many Integrated Core,內建衆核)衆核架構産品Knights Ferry面向使用者提供測試的消息,此舉被認為是英特爾在Larrabee(英特爾GPU晶片代号)計劃轉型後最重要的高性能計算協處理器計劃,也預示着英特爾開啟了全新的超級計算速度、性能和相容性時代。

從CPU到GPU 未來計算應用誰主沉浮?

英特爾內建衆核架構

從CPU到GPU 未來計算應用誰主沉浮?

MIC架構特點(高并行、高擴充、相容已有程式設計模式)

    在今年6月釋出全新HCP TOP500排行榜之際,英特爾宣布所有基于這種MIC衆核架構的産品都将統一采用全新品牌——Xeon Phi(至強融核),其第一代至強融核産品将于今年底正式推出。MIC架構下的至強融核産品主要為高度并行的工作負載提供更好的性能,未來還将滿足包括資料中心和工作站等在内的各個計算應用領域。

從CPU到GPU 未來計算應用誰主沉浮?

基于MIC架構的Knights産品家族發展路線圖

    英特爾至強融核協處理器将采用創新的22納米3-D 三栅極半導體制程技術,可在PCI-E插卡形态下內建超過50顆核心和支援最低8GB容量的GDDR5記憶體。此外,它還具備支援512b SIMD 指令的特點,可在單個指令控制下同時處理多個資料元素,進而能顯著提升性能。

從CPU到GPU 未來計算應用誰主沉浮?

可擴充的程式設計模式

    至強融核品牌彙聚了至強強大的工藝處理實力和豐富成熟的關鍵業務、雲計算、HPC等各類應用,屬于英特爾至強家族産品的組成部分。基于x86處理器架構的MIC,能夠更容易的進行應用程式程式設計,并且在多核、多個多核處理器廣泛應用的時代,能夠相容原有的程式設計模式,而且在和多個叢集上也可以進行性能調優。

品牌:Intel 伺服器CPU 

從CPU到GPU 未來計算應用誰主沉浮?

總結:異構計算将成主流

  前面我們對CPU、GPU、APU和GPGPU、MIC進行了簡要分析。下面我們來小結概況下。首先我們從未來發展趨勢來看,并行計算的應用會越來越多,這主要展現在原有的遊戲、3D動畫、特效渲染和其他科學領域。而由于CPU和GPU早期的設計思路的不同,CPU在通用計算領域和邏輯處理方面,擁有較為強大的計算性能,但對于數學計算方面,其速度并不如擁有海量處理核心的GPU快。相反,GPU雖然數學計算性能強大,大規模并行處理方面有突出表現,但邏輯處理能力不足,不能勝任日常和通用型計算,而隻能應用在某些計算領域。

  經過多年的發展,GPU已經在很多領域得到應用,尤其是在超級計算機方面。比如中國“星雲”和“天河一号”分别配備了AMD Radeon HD 4870 X2、NVIDIA Tesla C2050,通過使用特殊軟體讓GPU執行并行資料操作,分擔CPU工作量,提升計算速度。

從CPU到GPU 未來計算應用誰主沉浮?

“天河一号A”采用至強CPU+Nvidia GPU異構計算模式

  在此思路上,不少廠商也都紛紛提出了加速處理器、協處理器的概念。比如AMD的APU加速處理器和英特爾的至強融核協處理器,就是其中最為典型的代表。

從CPU到GPU 未來計算應用誰主沉浮?

至強融核協處理器

  APU主打CPU和GPU融合,通過提升GPU的通用計算性能和協同計算,将具有高性能處理器和顯示卡核心放置在同一個晶片上,大幅提升計算機運作效率。基于MIC架構的至強融核産品,專門面向百億億次計算時代而設計,将着眼于更多、更小的核心和更寬的矢量單元,并且能上下相容、保護使用者投資、實作更強擴充,在已有程式設計模式下,和已有的處理器(至強系列)之外,提供更為強大的并行計算效率。

  另一方面,APU和至強融核都被各自廠商寄予了厚望。它們各自也都有着自己完整的發展路線圖。AMD的APU實作CPU和GPU融合,将通過實體整合、平台優化、架構整合和架構與系統整合四大步驟逐漸推進;而英特爾的至強融核,其第一代産品将首先應用在HPC高性能計算領域,未來将會逐漸擴充到包括伺服器和工作站、資料中心在内的各個企業級計算應用領域。

    縱觀未來發展模式,僅憑單一的架構來實作更高的計算效率顯然并不現實。采用CPU+GPU的異構計算模式(包括CPU+協處理器、加速處理器等),勢必會迎來更大的發展浪潮。相比這種發展趨勢的擔憂,我們更應将注意力放在這種異構模式下的軟體生态系統建設上面。

繼續閱讀