《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 深度剖析AI芯片初創Graphcore,憑什么被譽為芯片產業第三次革命?

深度剖析AI芯片初創Graphcore,憑什么被譽為芯片產業第三次革命?

2019-12-23
來源:芯東西
關鍵詞: AI芯片 Graphcore

  2017年我曾經基于Graphcore的CTO Simon Knowles的演講兩次分析了它們的AI芯片。最近,我們看到更多關于IPU的信息,包括來自第三方的詳細分析和Graphcore的幾個新的演講?;谶@些信息,我們可以進一步勾勒(推測)出IPU的架構設計的一些有趣細節。

  我們先來回顧一下IPU硬件架構中的一些關鍵點。IPU采用的是大規模并行同構眾核架構。其最基本的硬件處理單元是IPU-Core,它是一個SMT多線程處理器,可以同時跑6個線程,更接近多線程CPU,而非GPU的 SIMD/SIMT架構。

  IPU-Tiles由IPU-Core和本地的存儲器(256KB SRAM)組成,共有1216個。因此,一顆IPU芯片大約有300MB的片上存儲器,且無外部DRAM接口。連接IPU-Tiles的互聯機制稱作IPU-Exchange,可以實現無阻塞的all-to-all通信,共有大約8TB的帶寬。最后,IPU-Links實現多芯片互聯,PCIe實現和Host CPU的連接。

640.webp (20).jpg

  ▲source: Graphcore [3]

  在我們做進一步討論之前,大家不妨先思考一下這個架構的優勢,劣勢和實現的挑戰。

  對于一個同構眾核架構來說,一般不追求單個核的性能。因此,單個核的設計是比較簡單的,而芯片是通過把大量小核“復制”連接構成的。

  這種架構的整體性能(特別是throughput)主要體現在大量處理器核同時工作形成的大規模并行處理能力。而主要的挑戰在于:

  1. 算法和數據本身是否有足夠的并行性(Amdahl's law)

  2. 要充分發揮眾核的效率,處理器核如何協同工作(通信,同步和數據一致性等問題)。

  第一個問題的答案是肯定的。

  目前的AI芯片主要是用于加速神經網絡計算的,其模型和數據都有很多并行性可以挖掘,這也是幾乎各類AI芯片需求成立的基礎。

  以前,類似的眾核結構不是很成功,其主要原因也是沒有合適的應用,有錘子沒釘子。從這個角度來看,IPU并不是發明了錘子,而是找到了合適的釘子。

  即便如此,不同的模型和算子的并行性特征是有很大差異,比如CNN和RNN,稠密矩陣和稀疏矩陣,基本的Convolution和Grouped/Separable Convolutions。要用一個架構高效支持所有應用是不可能的,必須在設計中進行權衡。

  第一個架構設計的問題來了,Q1:采用什么樣的基本操作粒度?

  而第二個問題則涉及多核/眾核架構的傳統挑戰,Q2:多核如何協同工作?

  此外,盡量利用片上存儲進行計算的優勢是很明顯的。但是, 300MB的片上存儲對控制機制和芯片實現都是巨大的挑戰。下表是IPU和CPU,GPU的片上存儲的一些對比,大家可以感受一下。

640.webp (17).jpg

  ▲Source:Citadel Tech Report[1]

  而這種設計還有一個很明顯的問題就是,Q3:沒有外部DRAM,如果模型放不下怎么辦?特別是在模型越來越大的背景情況下,這個問題可能是大家關注最多的地方。

  下面就從上述三個問題出發來討論一下IPU的設計。當然,如我多次所說,架構設計就是trade off,IPU的設計只能說是權衡的結果,而不一定是最佳方案(其實也不一定存在最佳方案)。因此,對于我們來說,思考和討論才是本文想達到的主要目的。

  01

  Q2:多核如何協同工作?

  我想先討論第二個問題,因為IPU對這個問題的回答,實際上決定了IPU的編程模型,同時也對架構設計和芯片實現有重大的影響。

  IPU采用了一個稱為BULK SYNCHRONOUS PARALLEL (BSP)的運行模式。這種模式把一次處理分成三步:

  1. 本地計算(Computation):每個IPU-core進程都執行僅在本地內存上運行的計算。在此階段,進程之間沒有通信。前提是本地數據要準備好。

  2. 同步(BSP Sync),在所有進程都達到同步點之前,任何進程都不會繼續進行到下一個步驟。除了同步點本身以外,此階段都不會進行計算或通信。

  3. 通信(Exchange):進程交換數據, 每個進程可以向每個期望的目的存儲器發送消息(單向)。在此階段不進行任何計算。這里要指出的是,數據交換不是僅限于單個IPU,而是可以通過IPU-Link把數據發送給同一板卡或不同板卡上的其它IPU。

640.webp (17).jpg

  ▲Source:Graphcore[4]

  上圖給出了BSP模式的優勢,在我看來,這個模式最大的優勢就是簡單。

  首先,使用這個模式,眾核設計中一系列頭疼的問題要么大大簡化,要么就基本不存在了。第一,通信是單向,只需要從源位置寫到目的位置即可,且通信的同時是不進行運算的,芯片的所有能源都可以用作通信,有利于保證通信的性能。如果不是這種簡化,很難想象IPU是如何實現8TB帶寬all-to-all通信的。同步機制也很輕松,只需要支持發送簡單消息即可,也沒有時序上的風險了。數據一致性的問題不存在了。

  第二,這個機制中,處理器核只操作本地存儲器,這樣可以大大簡化處理器核的訪存設計。

  第三,片上存儲在同一時間只有一個master在訪問,控制邏輯也可以大大簡化。這個應該也是IPU能夠實現這么多的片上存儲的原因之一。[1]中的實驗配置里,IPU可以工作在1.6GHz。考慮到IPU使用的是16nm工藝,如果不是大幅簡化了片上存儲和通信機制,整體達到這個時鐘頻率是相當困難的。

  那么,缺點呢?也很明顯。

  第一,計算和通信必須是串行的。我們經??吹降腁I系統優化里提到計算時間掩蓋通信時間的策略,目的是支持計算和數據搬移并行執行,縮短整體消耗的時間。Graphcore對串行機制的解釋是,在Dennard scaling難以為繼的背景下,芯片工作的限制在于功耗,大芯片在實際工作時是不可能所有晶體管同時工作的(Dark Silicon問題)。

  因此,他們把計算和通信串行來做,兩者都可以在功耗限制下發揮最高性能,整體時間來看并不比并行要差(詳見我之前的文章)。遺憾的是,要嚴格的比較串行和并行模式的實際性能是非常困難的,所以這里我們也只能留下個疑問。

  第二,所有的處理器核(包括多芯片情況)都必須按照統一的同步點來工作,如果任務不平衡,就一定會出現處理器核空閑等待的情況。[2]中就給出了一個實際的例子,使用同一個板卡上的2個IPU實現BERT inference的情況??梢钥闯?,開始由于無法平衡的分配任務,IPU0的利用率就比較低。

640.webp (16).jpg

640.webp (15).jpg

  ▲Source:Microsoft[2]

  總得來說,BSP模式決定了IPU的硬件設計和編程方法,簡化了硬件設計難度的同時,給軟件工具帶來了更多的挑戰。這里插一張facebook的slides,大家可以參考一下。

  回到主題,[1]中對IPU的片上和片間互聯做了大量討論和benchmark,具體數據也挺有意思,可以推測到一些實現細節,大家感興趣的話不妨看看。不過,在理解的IPU的基本設計思路之后,各種測試結果也就很容易理解了。

  02

  Q1:“采用什么樣的處理粒度?”

  上述討論中,我們可以看到,在設計多核協同工作模式的時候,IPU選擇了一個粗粒度的模式。而在處理器核的設計中,IPU則選擇了細粒度和更高的靈活性。

  從目前的資料來看,IPU-core是一個相對比較通用的處理器,支持6個線程,包括了一個Accumulating Matrix Product (AMP)單元,每周期可以實現64個混合精度或者16個單精度浮點數的操作。

  但是,IPU-core訪問本地SRAM的端口并不寬,讀寫端口最大都是128 bit(據說有兩讀一寫三個端口)。因此,IPU-core的處理粒度的比較細的,不是Nvidia GPU的TensorCore這個粒度的,更不是NVDLA的處理粒度。

  這也意味著在處理稠密矩陣運算的時候,IPU-core并不能最大限度的利用模型和數據的并行特征。[1]中所作的GEMM Benchmark也證實了這一點。單片IPU的混合精度處理能力是124.5T,和V100的TensorCore處理能力125T,是類似的。但實際IPU的GEMM運算效率只能達到50%左右,比TensorCore低不少。

640.webp (14).jpg

640.webp (13).jpg

  ▲Source:Citadel Tech Report[1]

  同樣的原因,IPU執行傳統Convolution操作的效率也不算很高(參考[1]中的Benchmark)。

  當然,這種設計的好處是處理器核有更好的通用性和靈活性。如果考慮稀疏模型,圖網絡,和一些特殊的Convolution運算,比如Grouped或者Separate Convolution的時候,這種細粒度的處理架構就會表現出相對優勢。這也可以從[1]中的ResNeXt網絡的Benchmark結果反應出來。

  從最近Graphcore給出的Benchmark和宣傳來看,他們在努力擴展IPU的應用場景,或者說尋找IPU架構能夠發揮更大效率的應用和算法,比如金融領域。他們還提了個IPU thinking的概念,即在做算法的時候考慮充分利用IPU架構的特點。讓大家從GPU thinking轉換到IPU thinking可能是個很艱巨的任務。但與其和Nvidia正面競爭,試圖取代GPU,可能還不如多培育更適合自己的應用(新的釘子),找到能夠和CPU,GPU共存的空間。

  03

  Q3:“沒有外部存儲,如果模型放不下怎么辦?”

  從設計之初,IPU就是想兼顧data center的training和inference的。而和其它的data center芯片(特別是training芯片)相比,IPU最大的一個差別就是沒有外部DRAM。在最近的NeurIPS 2019的一個講演中,Graphcore的Tom Wilsonk分享了利用IPU做BERT training和inference的示例,正好可以幫助我們分析這個問題。

  總的來說,Graphcore的解決方式包括了幾個方面。

  第一,是多芯片互聯。這個說起來很簡單,一個芯片放不下就多來幾個,但實現中對片間互聯機制的要求很高。前面介紹了IPU可以通過IPU-Link進行多芯片擴展,從[1]中可以看出,多個IPU芯片可以構成一個大的虛擬IPU(如下圖所示,最大8張卡16顆芯片)。虛擬IPU的編程模型和單個IPU是類似的,差別僅在于,數據交換階段,數據要發送到最遠的IPU需要更長的延時。更詳細的延時數據,大家可以在[1]中查到。

640.webp (12).jpg

640.webp (11).jpg

  ▲Source:CitadelTech Report[1]

  第二是模型并行,即把模型分布到多個核甚至多個芯片來執行inference或training。下面兩個圖分別是BERT模型的inference和training的配置。其中一路inference可以用兩顆IPU芯片實現(和[2]分析的類似),training則使用7張卡,14顆IPU芯片采用pipeline的模式實現。

  ▲Source:Graphcore[3]

  具體的training模型并行pipeline模式如下圖。這里還有一個trick,就是通過re-compute前向activation來減少存儲的需求。

640.webp (10).jpg

  ▲Source:Graphcore[3]

  從上述例子我們可以看出Graphcore解決存儲容量問題的一些思路。Benchmark我就不貼了,大家可以看[3]。

  更近一步,一個有趣的問題是,Graphcore是否會在下一代產品中加上外部存儲的接口呢?如果要加的話,基于BSP的編程模型是否需要修改?片上通信是否也需要做比較大的改動以匹配外部存儲的數據帶寬呢?片上的處理器核數量或者SRAM數量是否要減少呢?等等。

  感覺這個改動有可能會對IPU架構設計的基礎產生很大影響,也許并不是單純加個DDR/HBM接口這么簡單。或者,可以不改變基本的架構設計理念,而是通過chiplet的模式直接在封裝里擴展更多的IPU... ...

  讓我們拭目以待吧。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          久久久亚洲成人| 国产精品视频第一区| 国产一区二区高清不卡| 亚洲免费在线电影| 最新中文字幕亚洲| 亚洲高清一区二| 欧美成人在线免费观看| 亚洲国产精品一区二区久| 亚洲视频在线观看视频| 欧美第十八页| 亚洲黄色尤物视频| 一区二区亚洲精品国产| 欧美日产一区二区三区在线观看| 欧美二区在线播放| 欧美激情在线免费观看| 亚洲午夜一级| 一区二区三区在线观看视频| 你懂的网址国产 欧美| 欧美精品三级日韩久久| 久久婷婷久久| 亚洲青色在线| 精品成人一区二区三区| 日韩亚洲欧美中文三级| 久久国产精品高清| 亚洲视频免费| 狠狠网亚洲精品| 激情五月婷婷综合| 国内精品久久久久久久影视蜜臀| 玖玖视频精品| 一区二区免费看| 极品av少妇一区二区| 欧美日本国产视频| 久久av免费一区| 亚洲国产一区二区在线| 国产欧美在线观看| 老司机亚洲精品| 久久久久这里只有精品| 欧美日韩视频第一区| 亚洲欧美日韩另类精品一区二区三区| 亚洲视频大全| 久久久综合网站| 国产精品亚洲激情| 夜夜嗨av一区二区三区四季av| 日韩视频一区二区在线观看| 牛人盗摄一区二区三区视频| 国产亚洲精品综合一区91| 久久综合九色综合欧美就去吻| 一区二区成人精品| 亚洲人成小说网站色在线| 国产日韩精品一区观看| 亚洲欧美日韩国产成人| 欧美国产日韩亚洲一区| 国产精品视频福利| 1024精品一区二区三区| 国产精品夜色7777狼人| 亚洲成人中文| 国产精品日韩在线观看| 狠狠久久婷婷| 欧美视频在线观看视频极品| 国产一区二区精品在线观看| 亚洲欧美日韩国产成人| aaa亚洲精品一二三区| 蜜桃精品一区二区三区| 亚洲人成网站在线观看播放| 亚洲第一精品夜夜躁人人爽| 亚洲欧洲美洲综合色网| 亚洲成人自拍视频| 亚洲欧美日韩直播| 欧美无乱码久久久免费午夜一区| 国产伦精品一区二区三区视频孕妇| a91a精品视频在线观看| 狠狠色丁香婷婷综合影院| 欧美成人自拍| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美精品国产精品| 久久在线91| 欧美aⅴ一区二区三区视频| 国产日韩一级二级三级| 欧美日韩国产精品成人| 亚洲精选一区| 欧美日韩免费观看中文| 日韩视频中午一区| 欧美日韩一区二| 久久精品五月婷婷| 欧美色图一区二区三区| 国产婷婷97碰碰久久人人蜜臀| 久久国产日本精品| 麻豆免费精品视频| 国产精品久久久一区二区三区| 国产视频在线观看一区| 麻豆精品视频在线观看视频| 亚洲午夜免费福利视频| 精品成人国产在线观看男人呻吟| 夜夜夜精品看看| 久久一综合视频| 国产伦精品一区二区三区高清| 先锋a资源在线看亚洲| 久久精品国产99精品国产亚洲性色| 男女视频一区二区| 欧美新色视频| 午夜在线视频观看日韩17c| 尤物九九久久国产精品的特点| 国产精品乱码一区二三区小蝌蚪| 一区二区三区四区精品| 欧美在线视频播放| 欧美一区二区三区播放老司机| 久久精品人人做人人爽| 亚洲国产福利在线| 亚洲欧美日韩国产综合精品二区| 亚洲精品无人区| 欧美日韩一区免费| 国产精品久久9| 久久人体大胆视频| 夜夜嗨av一区二区三区中文字幕| 国产一区在线观看视频| 国产精品网红福利| 91久久综合亚洲鲁鲁五月天| 欧美一区二区福利在线| 在线观看一区二区精品视频| 亚洲精品色婷婷福利天堂| 一区免费观看视频| 国产欧美va欧美va香蕉在| 欧美日韩一级片在线观看| 亚洲欧美制服中文字幕| 亚洲在线国产日韩欧美| 欧美成人r级一区二区三区| 欧美三级日本三级少妇99| 久久综合色8888| 午夜精品在线视频| 亚洲精品色图| 一本色道久久精品| 国语精品一区| 91久久精品网| 国产精品久久久久久久久免费樱桃| 国产麻豆视频精品| 欧美一区二区女人| 久久女同精品一区二区| 激情六月婷婷久久| 国产精品欧美日韩一区二区| 一本色道久久综合狠狠躁篇的优点| 99精品国产在热久久下载| 欧美日产一区二区三区在线观看| 免费试看一区| 国产日韩欧美另类| 国产视频观看一区| 国产啪精品视频| 亚洲三级电影在线观看| 精品91在线| 久久精品亚洲一区二区| 日韩视频免费| 欧美一区二区福利在线| 亚洲欧美激情诱惑| 欧美日韩在线一区| 国产日韩精品综合网站| 国产精品二区二区三区| 国产精品成人av性教育| 久久久久久久综合色一本| 一区二区欧美视频| 亚洲三级免费电影| 久久频这里精品99香蕉| 国产精品www色诱视频| 欧美激情性爽国产精品17p| 亚洲乱码日产精品bd| 亚洲第一精品福利| 国产亚洲精久久久久久| 激情国产一区二区| 欧美色视频日本高清在线观看| 国产日韩精品综合网站| 激情国产一区| 国产精品久久久久久久电影| 亚洲综合日本| 欧美专区一区二区三区| 久久亚洲精品一区| 欧美激情综合五月色丁香小说| 亚洲一区二区三区在线播放| 中文无字幕一区二区三区| 免费av成人在线| 国产午夜亚洲精品理论片色戒| 亚洲图片自拍偷拍| 久久精品国产久精国产思思| 国产精品国产三级国产| 国产精品电影在线观看| 亚洲精品视频免费| 欧美日韩在线免费视频| 亚洲女同性videos| 99xxxx成人网| 国产精品美女久久久久久久| 免费成人黄色av| 欧美成人午夜77777| 精品粉嫩aⅴ一区二区三区四区| 国产婷婷色综合av蜜臀av| 久久久精品国产免费观看同学| 国产精品视频大全| 免费一级欧美片在线播放| 久久成人综合网| 激情五月婷婷综合| 女生裸体视频一区二区三区| 欧美激情视频在线播放| 国产精品视频网址| 性久久久久久久久久久久| 玉米视频成人免费看| 亚洲福利在线看| 欧美精品激情blacked18| 国精品一区二区| 亚洲欧美日韩成人高清在线一区| 欧美一区二区视频在线观看| 国产日本欧美在线观看| 在线一区二区日韩| 亚洲国产黄色| 日韩午夜电影av| 影音先锋亚洲视频| 亚洲五月婷婷| 亚洲福利视频一区| 亚洲精品乱码久久久久久| 欧美激情视频给我| 亚洲综合99| 欧美中日韩免费视频| 狠狠久久五月精品中文字幕| 国产精品你懂的在线| 午夜精品久久久久久久久久久| 尤物在线观看一区| 国产日韩在线亚洲字幕中文| 国模精品一区二区三区| 欧美国产另类| 欧美人与性动交a欧美精品| 亚洲大胆人体视频| 国产美女一区| 欧美日韩三区| 欧美日韩综合一区| 91久久嫩草影院一区二区| 一区二区三区四区精品| 99国产精品一区| 国产精品爽爽ⅴa在线观看| 亚洲欧美精品中文字幕在线| 欧美午夜电影一区| 媚黑女一区二区| 亚洲午夜伦理| 欧美视频三区在线播放| 亚洲高清在线精品| 美女亚洲精品| 欧美日韩中文字幕精品| 欧美日韩一区二区在线观看| 尤物yw午夜国产精品视频| 国产女同一区二区| 亚洲一本大道在线| 久久福利毛片| 欧美日韩的一区二区| 欧美日韩成人综合在线一区二区| 亚洲夜晚福利在线观看| 有坂深雪在线一区| 国产精品一级在线| 午夜亚洲性色视频| 国产麻豆精品在线观看| 国产欧美精品一区aⅴ影院| 欧美国产一区二区| 欧美激情一区二区三区在线视频| 噜噜噜噜噜久久久久久91| 国产一区日韩欧美| 日韩午夜三级在线| 午夜精彩视频在线观看不卡| 亚洲精品午夜| 久久久国产亚洲精品| 亚洲精品久久久久久久久久久久久| 日韩天天综合| 亚洲欧美成人精品| 午夜日韩在线观看| 国产精品一区二区三区久久久| 极品尤物一区二区三区| 亚洲女性裸体视频| 欧美一激情一区二区三区| 韩国欧美国产1区| 久久影视三级福利片| 国产午夜精品美女毛片视频| 国产精品每日更新在线播放网址| 亚洲欧美日韩久久精品| 一本色道久久综合亚洲精品按摩| 国产精品久久久久久av下载红粉| 国产精品成人va在线观看| 欧美国产高潮xxxx1819| 欧美一区二区三区电影在线观看| 国产美女一区二区| 欧美伊人久久大香线蕉综合69| 国产精品视频免费观看www| 国产精品日韩一区二区三区| 国产主播精品在线| 欧美三区在线视频| 亚洲综合色自拍一区| 136国产福利精品导航网址| 免费观看30秒视频久久| 欧美一区二区在线看| 极品少妇一区二区三区| 国产日韩亚洲欧美精品| 久久香蕉国产线看观看网| 国产伦精品一区二区三区视频黑人| 亚洲精选大片| 久久久之久亚州精品露出| 亚洲一级二级| 亚洲九九九在线观看| 亚洲国产精品久久久久秋霞不卡| 亚洲精品之草原avav久久| 欧美在线视频免费播放| 亚洲欧美日韩国产一区| 亚洲精品乱码久久久久久| 国产欧美日韩综合一区在线播放| 小黄鸭精品aⅴ导航网站入口| 精品成人在线观看| 国产欧美精品久久| 久久国产精品久久精品国产| 久久av最新网址| 激情欧美一区二区三区| 欧美日韩在线视频首页| 美日韩丰满少妇在线观看| 欧美亚洲免费| 亚洲欧美日韩另类精品一区二区三区| 亚洲综合另类| 欧美sm重口味系列视频在线观看| 亚洲精品国产欧美| 国产欧美欧洲在线观看| 久久精品亚洲一区| 最新国产拍偷乱拍精品| 国产欧美亚洲日本| 亚洲激情第一页| 亚洲国产精品激情在线观看| 亚洲国产欧洲综合997久久| 午夜精品视频在线观看一区二区| 日韩亚洲成人av在线| 亚洲国产日韩综合一区| 国产精品久久久久7777婷婷|