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

與普通處理器又何區別?NEC最新矢量處理器解析

2019-08-27 01:49:01張平
微型計算機 2019年7期
關鍵詞:指令設計

張平

日本在半導體產業尤其是處理器、SoC芯片等方向似乎沒有太多聲音。從近幾年日本半導體產業發展來看,雖然具體的產品并沒有太多,不過但凡有新品出現,都以獨特的設計和規格讓人眼前一亮。NEC在2017年發布了一款全新的矢量處理器,并在2018年正式將其推向市場。和傳統的通用處理器、GPU加速器相比,矢量處理器還比較少見。今天,本文將和你一起解讀NEC矢量處理器背后的秘密。

NEC在高性能處理器設計上擁有豐富的經驗,其輝煌的頂點是在2002年左右推出的Earth Simulator Computer也就是地球模擬器超級計算機,這款產品占據了全球最快超級計算機的寶座長達三年之久,并且大部分核心處理器都由NEC設計完成,其特點就是先進的矢量計算設計。不過,由于當時的普通用戶對矢量計算需求不足,因此這類產品距離主流市場較遠,NEC的矢量處理器往往只能用于大型設備,完全稱不上大眾化。

事物在發生著變化。隨著AI計算的興起,矢量加速器又開始逐漸成為很多用戶的選擇。鑒于此,NEC又開始重新考慮將矢量計算相關產品推向主流市場。2017年,NEC宣布推出全新的矢量超級計算機Sx-AuroraTsuBAME,其中的計算核心VectorEngine超級矢量卡(下文簡稱為“VE卡”)一經發布就引起了眾人關注。這款采用主流PCIe接口設計、專攻矢量計算的產品使用范圍極其廣泛,NEC稱其能夠支持“標準環境”,也就是支持Linux和英特爾x86架構。考慮到NEC在之前矢量處理器設計上的保守,這不得不說是—次重大改變。

有何優勢?淺析矢量處理器的優勢

對長期關注本刊的讀者來說,矢量和標量的概念應該不陌生。所謂矢量,又可稱為向量,就是指具有方向和大小、且滿足平行四邊形法則的幾何對象。標量則只有大小,沒有方向。一般來說,矢量多用在工程學、物理學中,比如位移、加速度、力矩、電流密度等都需要用矢量來表示。值得注意的是,矢量在代數中可以用矩陣的方式表示。比如矢量a可以表示為a=[a,b,c]其中a,b,c分別是矢量在三維坐標體系中的坐標值。

由于矢量的數組特性使其可以一次性進行多組計算,因此從一開始矢量計算和相關矢量處理器就頗受重視。從20世紀70年代一直到20世紀90年代,矢量計算和相關矢量處理器都是超級計算機的核心。隨之興起的就是一些處理多重矢量的技術,包括MIMD多指令多數據、SIMD單指令多數據、VLIM超長指令集架構等。這些技術都是希望通過減少指令的數量,通過大量數據進行并行計算,—次性處理更多的內容。

在這里,我們通過一個例子來顯示CPU傳統的“循環”計算和矢量處理器在計算方面的差異。

從例子可以看出,CPU每次只能加一個數據,10個周期才能做完這件事情。但是對矢量處理器而言,利用規模優勢,一次可以執行1O次運算,一個周期就能做完10個計算。這是典型的單指令多數據流處理方法。相比傳統的CPU,在面對大量并行數據時,矢量處理器效率更高。

由于矢量處理器在大規模數據計算上的優勢,因此任何現代計算架構都無法忽視其存在。實際上,現代CPU往往都已經包含了矢量計算模塊。比如英特爾和AMD很早就推出了MMX、SSE、3D Now!、AVx等指令集,通過特殊的矢量加速模塊和指令,能夠大幅度加速相關矢量計算。不過,CPU依舊有其在邏輯計算上的優勢,矢量計算并不是它的重點,一般只有在IBM Power 9這樣專為超級計算機和大型機設計的處理器中才專門設計了超大規模的矢量計算核心。即使如此,矢量計算也會給傳統處理器帶來極大的性能提升。比如英特爾新近加入的AVX-512指令集就能夠大幅度加強AI計算等這類天然的大數據量、并行度極高的矢量計算。

除7CPU之外,GPU則可被稱為天然的矢量加速器。傳統的圖形計算的頂點轉換本身就是為矢量計算而生,再加上像素計算方面RGBA的固定模式,因此GPU的每一個計算核心都可以被看做一個矢量加速單元。諸如英偉達最新的Volta、Turning等架構,更是可以看成是專為圖形計算設計的矢量加速器。

除了CPu和GPu外,市場上還有專門的矢量加速處理器、矢量計算機等。這類產品在核心架構上設計更為簡潔,并不包含太多的附加功能,也沒有為特定用途優化,其目的就是通過純粹的矢量計算核心設計,為AI計算、特殊并行計算、超級計算機等提供加速計算的能力。本期的主角VE超級矢量卡以及其核心SX-Aurora處理器正是這種“純粹”的產品,專為加速而生,別無旁騖。術業有專攻,專業的加速處理器自然有一定的優勢,在架構設計上也可能存在和傳統通用加速器的差異,值得研究。

從SX-Aurora TSUBAME超級計算機到VE超級矢量卡

要了解VE超級矢量卡,我們先來一起看看SX-Aurora TSUBAME超級計算機。這款超算是NEC對所謂“標準環境”的首次嘗試,其特點就是采用了英特爾的處理器,支持PCIe總線。根據不同的配置,在風冷環境下,SX-Aurora TSUBAME可以實現1顆或者2顆處理器,但是搭載1個、2個、4個甚至8個VE卡的不同配置方案。在水冷環境下,SX-Aurora TSUBAME最多能夠實現8個機架搭配64個VE卡的方案。

為了更好地區分不同的配置,NEC也根據不同的配置情況對產品的命名進行了調整。比如1顆處理器搭配1個VE卡的型號是A100-1,這是最基本的方案。進階配置中,1顆處理器搭配2個VE卡型號被稱為A300-2,2顆處理器搭配4個VE卡則是A300-4。風冷條件下最強的型號是A300-8,采用2顆處理器搭配8個VE卡的設計。最高端的則是水冷型號,NEC采用InfinBand連接8個機架,組成了16顆處理器和64個VE卡的產品,型號則是A500。

SX-Aurora TSUBAME在CPU方面采用的是英特爾Skylake-SP架構的xeonGold或者xeon Sliver處理器,主角部分則是本文的核心VE超級矢量卡。對這款產品,熟悉PC DIY的用戶可能會誤認為VE卡是哪一家新廠商推出的新顯卡。誠然,從外觀來看,采用標準PCIe接口、側吹散熱的VE超級矢量卡在外觀上和一般的顯卡別無二致。令人想不到的是,其火紅的外觀下隱藏的是完全不一樣的核心。

深入VE超級矢量卡的內部世界

VE超級矢量卡在計算架構上和一般的加速卡存在很大差異。根據NEC的說明,VE卡的工作模式遵循OS卸載模式。簡而言之,除了偶爾的系統調用或者I/O功能外,VE卡在工作中需要將所有的執行程序和數據轉移到本地存儲并在處理器上運行,只有計算完成后才輸出結果。在軟件支持方面,VE卡可以使用標準的語言模型,比如C、C++或者Fortran,無需特殊的編程模型或者平臺支持。

這種設計的優勢在于大大降低了處理器和加速卡之間的傳輸瓶頸,尤其是PCIe帶寬壓力,也避免了一般加速卡出現的由于CPu和加速器數據傳輸延遲導致的性能下降等問題。但是,這種設計方法也存在一定的缺陷,那就是計算靈活度可能會受到限制,因此需要完善軟件優化以及合適的算法搭配,這樣才能更有效地利用VE卡的計算能力。另外,在物理規格上,這種設計也對VE卡的本地存儲能力提出了要求,VE卡依賴于更大的本地存儲(目前為48GB),畢竟本地存儲空間越大,能夠計算的數據量也就越大。

為了解決這些問題,NEC提出了一些新的優化思路,被稱為VH Call和VEO。這兩個設計的優勢在于,在VH調用模型下,應用程序被存放在矢量加速卡中,并在主處理器上執行標量相關計算。而VEO則是Vector EngineOffload的簡稱,在這種模式下,僅有矢量化部分被載入,標量化部分則交由系統處理器完成。

在程序執行方面,VE卡使用名為ve_exec的特殊程序調用用戶的適量程序,然后,ve_exec程序會自動請求在矢量計算卡上運行OS創建新的進程。接下來,ve_exec迭代可執行的ELF文件,讀取每個段落并將其傳遞給矢量計算卡。同時,系統會在X86也就是向量主機上生成偽進程,這個偽進程具有與矢量計算卡虛擬地址空間平行的虛擬地址空間。舉例來說,在某個存儲器操作時,首先分配的是虛擬地址頁面,然后向矢量計算卡的OS請求在VE卡上的物理地址空間上分配頁面,并由VE卡進行相關的虛擬地址轉換和數據保護。

此外,NEC還為SX-Aurora設計了一個名為存儲主機存儲器(SHM)的特殊指令。在異常情況下,SHM指令用于將系統調用ID以及其參數傳遞給矢量OS中的偽進程,然后執行監視器調用指令,該指令將停止vE內核并在VH上調用中斷程序。接下來操作系統就可以喚醒偽進程進行異常處理了,這相當于是加入了一個錯誤排除機制。

SX-Aurora矢量引擎處理器

如果拆開VE超級矢量卡的話,可以看到PCB板上除了電源和一部分功能芯片外,實際上只存在一顆碩大的芯片,那就是名為SX-Aurora的矢量引擎處理器。這顆處理器擁有8顆矢量核心和相對應的6顆HBM2存儲顆粒。這顆核心采用了臺積電16nm工藝制造。相比之下,NEC設計的前代產品也就是SX-Ace采用的是DDR3內存,通道數量高達16條——如此多的DDR3通道數量除了需要占據相當大的電路板空間外,芯片的存儲控制器部分也是—筆不小的開支。最終這款產品所需要的電路面積過于龐大,只能使用傳統的服務器主板搭載。而新的SX-Aurora則采用了全新的HBM2存儲顆粒,通過先進的封裝設計大幅度降低了芯片和數據傳輸對PCB面積的需求,不但提高了存儲帶寬,還使得最終成品使用PCIe規格的尺寸就能夠搭載,大大提高了產品的靈活性。

矢量核心設計

前文說過,一顆SX-Aurora矢量引擎處理器內包含78顆矢量核心,相比前代產品的4顆而言數量翻倍。盡管核心數量看起來很低,但是每顆核心一個循環就可以執行192個雙精度浮點運算。以芯片的頻率為1.6GHz來看的話,每顆內核的計算能力高達307,2Giga Flops,總計8顆核心高達2.45TFIos,注意,這是雙精度計算能力。

繼續拆解的話,可以看到每顆核心由三個功能模塊組成:標量處理單元SPU、矢量處理單元VPU和NOC接口。一般來說,即使是一款矢量處理器,標量單元依舊非常重要。這是因為應用程序需要完全在矢量處理器上運行,因此SPU相對應的必須有良好的序列化代碼性能,這里需要重點提及SPU單元的設計。

NEC在SPU的設計上采用了一個四發射的亂序執行設計方案,它能夠在每個周期內拾取、解碼和重命名四條指令。NEC還表示,SPU具有硬件預取和復雜的分支預測器,整體深度為8階段,具有運行一個完整操作系統所需要的所有功能。后端設計上,SPU包含一套統一的調度程序,每周期可以發送五條指令,一旦解決了指令的相關性問題,就會以亂序執行的方式發送指令給五個獨立的執行單元。這五個獨立執行單元包括用于通用標量算數的整數和浮點ALu、一個專用分支ALU、一個LSU和一個矢量Eu。除了典型的標量操作外,SPU還需要計算矢量訪問的基本內存地址。在實際應用中,SPU可以保證VPU單元滿載并且不間斷地工作,還可將每個周期的一條指令傳遞到VPU的緩沖區以等待執行,另外還能夠向地址生成單元發送矢量指令,以便可以提前計算矢量地址。這些設計都能夠大大提高效率,保證核心計算的效能。

矢量處理單元

進一步向細節深入的話,在矢量核心中最重要的部分就是矢量處理單元也就是VPU了理想情況下,絕大部分密集型計算應該在VPU中完成。VPU的控制邏輯類似于流水線,擁有一個相當簡單的管道,并且也采用了亂序執行的設計。實際操作中,在SPU發出的指令會被放置到指令緩沖區,并在那里將其重命名、重排序和調度,等待VPU的處理。系統將64個矢量寄存器重命名為256個物理寄存器,支持增強預加載功能,并避免WAR/WAW等依賴性的存在。調度方面,VPU的調度相對比較簡單且擁有一個專門的復雜操作管道。一般來說,調度程序往往會獨占一個專用端口,用于復雜操作執行單元和矢量并行管道(VPP),復雜操作執行單元一般用于處理高延遲操作,比如矢量求和、除法、掩碼填充計數等操作會被發送至該單元,這可以防止由于這些操作涉及到了高延遲而導致整個流水線的停頓。

在SX-Aurora中,一個VPU中有32個VPP,相比上代產品翻倍。另外VPP部分還配備了一個8端口的矢量寄存器、16個屏蔽寄存器和6個執行管道。其中,6個執行管道包括3個浮點管道、2個整數ALU以及一條用于數據輸出,設計復雜的存儲管道,在這里一個ALU管道和一個存儲管道共享相同的讀取端口。類似的還有FMA和另一個ALU共享一個讀取端口,總而言之,每個周期執行的有效管道數量實際上是4個。和前代產品相比,現在的產品每個VPP擁有一個額外的FMA單位,可以在一定程度上加強處理器的計算能力。

性能方面,VPU部分能夠實現的峰值理論性能是每周期每VPP 3個FMA操作,每個VPU包括32個VPP,因此總計是96個FMA每周期、192個DP Flops/周期。考慮到頻率為1.6GHz,因此每個VPU的峰值性能是307.26igaF10ps。對單精度計算而言,每個FMA都可以對打包數據進行操作,因此可以將2個32位數據打包為一個雙精度數據進行處理,這樣單精度的浮點峰值性能就是雙精度的一倍,為614.4Giga Flops。

內存子系統設計

從上文的數據也可以看出,整個VPU部分的吞吐能力非常強大,這樣強大的計算能力對內存子系統的設計提出了極高的要求,原因也很簡單,如果喂不飽VPUU,那么計算效率將嚴重降低。

在2013年推出的SX-Ace包含74個VPU核心,每個VPU有16個VPP,每個VPP有2個FMA。在1GHz頻率下,每個核心將帶來64 GigaFlops或者總計256GigaFlops的計算能力。為了滿足這顆核心的吞吐能力,四個內核連接至一個CrossBar,總帶寬為256GB/s,共計16條內存通道,搭配的內存為DDR3-2133,內存帶寬也恰好為256GB/s,所以每GigaFlop對應了1GB/S的帶寬,這是之前的數據和帶寬匹配情況。

在新的處理器上,NEC的每核心Flops從之前的64增加到了307.2,在緩存設計上也不再采用1MB的可分配數據緩沖區(ADB),轉而采用16MB共享末級緩存。核心和高速緩存通過網格連接,采用16層2D網狀網絡,其目的是通過最小化物理傳輸距離來實現最大化的帶寬。

SX-Aurora每顆核心的交叉總線每周期可以發出16個請求指令,在1.6GHz頻率下,每周期的帶寬就是410GB/s。內存子系統方面,最后一級緩存的帶寬為3TB/s。再向下一層的LLC方面,高速緩存被分為8個2MB的塊,每個塊由16個存儲器構成,每一組LLC和IMC的帶寬為200GB/s,共計8組LLC和2組IMC之間的總帶寬為1600G/s。IMC連接76組HBM2內存,總計擁有1.22TB/s的帶寬。通過計算可知,整個處理器的計算能力是2.45TFIos,對外連接帶寬是1.22TB/s。

工藝和封裝

從架構設計來看,封裝是Sx-Aurora實現高性能的關鍵,尤其是HBM2內存的使用。SX-Aurora擁有6顆HBM2內存,采用的是4層或者8層堆棧方案。這顆芯片在封裝上采用了臺積電的CoWoS技術,也就是第二代基板上芯片封裝技術。這也使得SX-Aurora成為全球第一款使用6通道HBM2內存的芯片。

為了更好地散除熱量,SX-Aurora沒有使用處理器常見的金屬頂蓋,硅片裸露在外,周圍使用了等高的金屬層來改善封裝的機械可靠性。NEC指出在散熱方面,SX-Aurora需要和散熱器有效接觸,否則會由于高溫導致性能降低。

SX-Aurora的芯片面積為493.68平方毫米,不算特別巨大,大概尺寸接近英偉達GP104或者Tu106的規格。NEC也展示了SX-Aurora的PCB設計也就是前文提到的VE超級矢量卡,和常見的顯卡非常類似。PCIe插槽上方就是SX-Aurora矢量引擎處理器,肉眼可見6顆HBM2顯存。右側是多相數字供電電路,上下橋合并封裝。接口采用了單8Pin方案,最大供電能力150W。NEC沒有公布VE超級矢量卡的功耗情況,從供電接口設計來看,其最大功耗應該不超過225W。

最后再來對比依一下業內類似定位的芯片性能。這里的數據是VE超級矢量卡、英特爾Xeon Platinum 818028核心處理器和英偉達Tesla V100。從下面的性能對比表我們可以看出VE超級矢量卡和傳統的處理器、GPU之間的差異。由于架構設計的側重點完全不同,因此在單核心的統計方法、內存類型和容量、內存帶寬方面顯示出了巨大差異。尤其是在和TeslaV100的對比中,VE超級矢量卡的內存容量三信于對方,內存帶寬也超出不少,不過在核心規模上還有所欠缺,因此理論性能上存在差異。考慮到VE超級矢量卡的OS卸載模式和TeslaV100的傳統模式存在很大差異,因此在優化得當的情況下效率表現還是可圈可點。

除了理論性能外,NEC還給出了一些性能相對值對比。從這些測試可以看出,VE超級矢量卡的優勢在于相對英特爾xeon處理器有更高的性能、更好的性能功耗比。在絕對性能上暫時不能和英偉達Tesla V100相比,但是NEC也特別指出,VE超級矢量卡的價格相對低廉,整體性價比將更為出色。

總的來說,NEC通過此次推出的SX-Aurora處理器和相關產品,顯示了其在高性能處理器設計領域的雄厚積累。通過面向AI等目前熱門的應用和環境,再加上良好的擴展性和獨特的技術模式,SX-Aurora處理器和相關產品有可能在未來的市場競爭中分得一杯羹。另外,NEC的這款產品也有可能進入超算產品中。從歷史角度來看,日本曾有一段輝煌超算時代,比如NEC的地球模擬器就以強勁的實力霸榜三年之久。但近幾年來隨著中美兩國漸漸發力,日本在超算行業中的聲音逐漸走低。現在,NEC又帶來了如此強勁的計算設備,很有可能會進一步研發改進、加以擴展后推出新一代超算的可能,值得人們關注。

猜你喜歡
指令設計
聽我指令:大催眠術
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
一種基于滑窗的余度指令判別算法
主站蜘蛛池模板: 热99精品视频| 欧美天堂久久| 日韩无码真实干出血视频| 在线观看国产精美视频| 最新无码专区超级碰碰碰| 毛片免费在线视频| 久久久久久午夜精品| 精品人妻无码中字系列| 日韩精品亚洲精品第一页| 91国内在线观看| 日韩乱码免费一区二区三区| 香蕉视频在线观看www| 一区二区三区国产精品视频| 精品色综合| 精品久久综合1区2区3区激情| 国产91高跟丝袜| 都市激情亚洲综合久久| 亚洲视频免费播放| 欧美精品啪啪| 九色在线视频导航91| 1024国产在线| 亚洲女同欧美在线| 一边摸一边做爽的视频17国产| 国产精品免费p区| av一区二区三区在线观看| 囯产av无码片毛片一级| 国产欧美日韩91| 国产高潮视频在线观看| 日韩国产欧美精品在线| 亚洲中文字幕手机在线第一页| 在线国产欧美| 欧美在线综合视频| 欧美精品一区在线看| 久久夜色精品| 亚洲中文字幕日产无码2021| 亚洲系列无码专区偷窥无码| 日本三级欧美三级| 国产 在线视频无码| 性69交片免费看| 在线欧美a| 日韩欧美中文字幕在线精品| 久久午夜夜伦鲁鲁片不卡| 国产精品永久在线| 久久综合丝袜长腿丝袜| 久久久久青草线综合超碰| 91在线播放国产| 五月激激激综合网色播免费| 国产欧美精品专区一区二区| 欧美亚洲网| 国产亚洲精品资源在线26u| 国产视频a| 亚洲无码高清免费视频亚洲| 亚洲精品视频免费| 日韩天堂网| 欧美国产在线精品17p| 国产在线观看人成激情视频| 国产精品人人做人人爽人人添| 国产午夜看片| 国产鲁鲁视频在线观看| 夜夜拍夜夜爽| 久久人搡人人玩人妻精品| a级毛片免费网站| 69综合网| AV无码国产在线看岛国岛| 99热最新网址| 中日韩欧亚无码视频| 久久毛片免费基地| av色爱 天堂网| 亚洲男人天堂久久| 亚洲国产精品一区二区高清无码久久| 欧美区一区二区三| 亚洲欧洲自拍拍偷午夜色| 国产成人综合日韩精品无码首页| 久久精品视频一| 亚洲系列无码专区偷窥无码| 丰满少妇αⅴ无码区| 亚洲一级毛片免费观看| 亚洲免费人成影院| 在线观看无码a∨| 亚洲色偷偷偷鲁综合| 91精品国产一区| 国产精品林美惠子在线观看|