在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一窺ARM的AI處理器

dKBf_eetop_1 ? 來源:未知 ? 作者:胡薇 ? 2018-05-31 11:44 ? 次閱讀

最近,ARM進一步公開了ML Procesor的一些信息。EETimes的文章“Arm Gives Glimpse of AI Core”[1] 和 AnandTech的文章“ARM Details “Project Trillium” Machine Learning Processor Architecture”分別從不同角度進行了介紹,值得我們仔細分析。

ARM公開它的ML Processor是在今年春節前夕,當時公布的信息不多,我也簡單做了點分析(AI芯片開年)。

這次ARM公開了更多信息,我們一起來看看。首先是關鍵的Feature和一些重要信息,2018年中會Release。

???

頂層架構

與最初公布的基本框圖相比,我們這次看到了更細化的模塊框圖和連接關系,如下圖所示。

MLP的頂層對外來看是個比較典型的硬件加速器,它有本地的SRAM,通過一個ACE-Lite接口和外部交互數據和主要的控制信息(指令)。另外應該還有一些控制信號,估計在這里略去了(可以參考Nvidia的NVDLA)。

在上圖中綠色箭頭應該表示的是數據流,紅色表示控制流。MLP中的CE共享一套DMA,Control Unit和Sync Unit,它的基本處理流程大概是這樣的:1. 配置Control Unit和DMA Engine;2. DMA Engine從外部(如DDR)讀入數據存在本地的SRAM中;3. Input Feature Map Read模塊和Weight Read模塊分別讀入待運算的feature map和weight,處理(比如Weight的解壓縮),并發送到MAC Convolution Engine(后面簡稱為MCE);4. MCE執行卷積等操作,并把結果傳輸給Programmable Layer Engine(后面簡稱為PLE);5. PLE執行其它處理,并將結果寫回本地SRAM;6. DMA Engine把結果傳輸到外部存儲空間(如DDR)。

在頂層標出的Broadcast接口,實現在多個Compute Engine(后面簡稱為CE)之間廣播feature map數據的功能。因此,基本的卷積運算模式是,相同的feature map廣播到多個CE,不同的CE使用不同的weight來和這些feature map進行運算。

從目前的配置來看,MLP包括16個compute engine,每個有128個MAC,即一共有16x128=2048個MAC,每個cycle可以執行4096個操作。如果要實現ARM所說的4.6TOPS的總的處理能力,則需要時鐘周期達到1.12GHz左右。由于這個指標是針對7nm工藝,實現問題不大。

???

MCE實現高效卷積

在MLP的架構中,MCE和PLE是最重要的功能模塊。MCE提供主要的運算能力(處理90%的運算),應該也是MLP中面積和功耗最大的部分。因此,MCE設計優化的一個主要目標就是實現高效的卷積操作。具體來講,MLP的設計主要考慮了以下一些方法,這些方法大部分我們之前也都討論過。

一個比較有趣的點是上面提到的“varied internal precision”。目前還不太清楚其具體的含義。不過對應用來說看到的應該是固定的8bit數據類型。至于對低精度Inference的支持,[1]中提供的信息是,“The team is tracking research on data types down to 1-bit precision, including a novel 8-bit proposal from Microsoft. So far, the alternatives lack support in tools to make them commercially viable, said Laudick.”因此在第一版的MLP中,應該也不會看到低精度或者Bit-serial MAC了(參考AI芯片開年中對ISSCC2018出現的Bit-serial Processing的介紹)。

此外,數據的壓縮和對工藝的優化也是提高整體效率的主要手段。特別是工藝的優化,結合ARM的工藝庫,應該有比較好的效果,這也是ARM有優勢的地方。

???

PLE實現高效的可編程

如下圖所示,PLE的結構基本是在一個ARM MCU基礎上擴展了Vector處理和NN處理的指令。在討論可編程性的時候,其出發點主要是NN算法和架構目前還在不斷演進。

我們前面已經分析了整個MLP的基本工作流程,MCE在完成了運算之后把結果傳輸給PLE。從這里可以看出,MCE應該是把結果發送到Vector Register File(VRF),然后產生中斷通知CPU。之后,CPU啟動Vector Engine對數據進行處理。具體如下圖所示。

對于做專用處理器的同學來說,這種scalar CPU+vector engine的架構并不陌生。這里,本地SRAM,VRF和PLE之外的Maing SRAM Unit(CE中的SRAM)之間有Load/Store單元和uDMA實現數據的傳輸,數據流也是比較靈活的。綜合來看,在MLP中,每個CE中都有一個PLE和MCE配合,即每個MCE(128個MAC)就對應一個可編程架構。因此,ARM MLP的可編程性和靈活性是要遠高于Google TPU1和Nvidia的NVDLA的。當然,靈活性也意味著更多額外的開銷,如[1]中指出的,“The programmable layer engine (PLE) on each slice of the core offers “just enough programmability to perform [neural-net] manipulations””。High-efficient Programmability是MLP的一個主要賣點之一,而ARM的“just enough”是否真是最合適的選擇,還有待進一步觀察。

???

其它信息

在這次發布中信息中,ARM還強調了他們在數據壓縮方面的考慮,包括對lossless compression的硬件支持。這部分內容我在之前的文章中也有比較多的討論,就不再贅述了,貼幾張比較有意思的圖,大家看看。

作為一個IP核,可配置性(configurability)是一個重要的特征。目前還不知道MLP有哪些硬件參數可以支持靈活配置。Compute Engine的數量,MAC數量,SRAM大小,這些比較大的參數應該有可能是支持配置的。其它更細致的內容還要看最終發布的情況。另外,這些參數的配置和相關的軟件工具有非常密切的關系,更多的可配置參數也意味著軟件工具需要相應的支持,難度更大。[2]對此的說法:“In terms of scalability the MLP is meant to come with configurable compute engine setups from 1 CE up to 16 CEs and a scalable SRAM buffer up to 1MB. The current active designshoweverare the 16CE and 1MB configurations and smaller scaled down variants will happen later on in the product lifecycle.”

???

競爭態勢

除了比較中規中矩的性能指標外,ARM還沒有公布MLP具體的面積,功耗等參數,以及具體發布的日期(目前的說法是“production release of the RTL is on track for mid-year”)。

在這個已經比較“擁擠”的市場,ARM顯然是動作比較慢的。[1]一開始就提到了,“Analysts generally praised the architecture as a flexible but late response to a market that is already crowded with dozens of rivals.”并列舉了一些競爭對手的例子。

其實,從ARM在處理器IP市場和整個生態鏈的關鍵地位來看,晚一點關系也不大。如[1]所說,一方面,ARM正在和一些智能手機廠商進行深度的合作,“In a sign of Arm’s hunger to unseat its rivals in AI, the company has “gone further than we normally would, letting [potential smartphone customers] look under the hood””。

ARM的另一個重要優勢是,ARM在推出MLP之前在軟件工具上還是有一些準備的,包括armnn和開源的計算庫等等,如下圖。

這些工具的廣泛使用都可以幫助ARM積累經驗,優化硬件和軟件工具。正如[1]中引用來自ARM的說法,“Winningthe hearts and minds of software developers is increasingly key in getting design wins for hardware sockets...This is kind of the start of software 2.0. For a processor company, that is cool. But it will be a slow shift,there’s a lot of things to be worked out, and the software and hardware will move in steps.”

我們也看到,目前大量的嵌入AI應用還是運行在ARM的各種硬件上的,很多公司在相關算法和實現的優化上投入了很大的力量,也取得了很好的效果。當然這樣帶來另一個有趣的問題,那就是未來引入MLP之后,ML任務到底放到哪里跑?不同特點的處理器怎么配合?文章中正好也提到這個問題,“Arm will release more data on the core’s performance when it is launched, probably in mid-June. But don’t expect detailed guidance onwhen to run what AI jobs on its CPU, GPU, or new machine-learning cores, a complex issue that the company, so far, is leaving to its SoC and OEM customers.” 看來這個“難題”短期之內還是丟給用戶了。

另外一個值得關注細節是,[1]中提到,“Theoretically, the design scales from 20 GOPS to 150 TOPS, but the demand for inference in the Internet of Things will pull it first to the low end.Armis still debating whether it wants to design a core for the very different workloads of the datacenterthat includes training. “We are looking at [a datacentercore], but it’s a jump from here,” and its still early days for thoughts on a design specific for self-driving cars, said Laudick.”從這里可以看出,至少MLP在處理能力上還是具有比較強的伸縮性的,應該可以覆蓋從Edge到Cloud的大部分的inference應用。如果是最高的150TOPS,MAC的規模應該和Google第一代Inference專用的TPU類似,不過相比Google的脈動陣列架構,MLP有更復雜的控制通道,靈活性還是要高不少。不知道未來,這會不會幫助ARM打開data center的inference市場。

參考:

1."Arm Gives Glimpse of AI Core",https://www.eetimes.com/document.asp?doc_id=1333307

2."ARM Details “Project Trullium” Machine Learning Processor Architecture", https://www.anandtech.com/show/12791/arm-details-project-trillium-mlp-architecture.

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9097

    瀏覽量

    367585
  • AI處理器
    +關注

    關注

    0

    文章

    92

    瀏覽量

    9491

原文標題:一窺ARM的AI處理器

文章出處:【微信號:eetop-1,微信公眾號:EETOP】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ARM處理器簡介及RISC設計要點

    ARM個32位RISC(精簡指令集)處理器架構,ARM處理器則是ARM架構下的微
    的頭像 發表于 04-01 08:17 ?9275次閱讀
    <b class='flag-5'>ARM</b><b class='flag-5'>處理器</b>簡介及RISC設計要點

    ARM處理器ARM處理器工作模式

    ARM處理器狀態ARM處理器的工作狀態般有兩種,并可在兩種狀態之間切換:第種為
    發表于 01-27 11:13

    ARM處理器ARM處理器工作模式

    ARM處理器狀態ARM處理器的工作狀態般有兩種,并可在兩種狀態之間切換:第種為
    發表于 01-27 14:19

    什么是ARM處理器 ARM處理器有哪些系列

    ARM 處理器種低功耗高性能的 32 位 RISC(精簡指令系統)處理器。從結構 入手對其進行分析,并針對目前流行的 ARM920T 核
    發表于 09-24 17:47

    什么是ARM處理器

    廠商的x86架構處理器,有IBM的power架構處理器,高通蘋果海思有ARM架構處理器。說PC端的處理器大家比較熟悉,移動端現在幾乎
    發表于 11-24 07:05

    ARM處理器的編程模型

    簡介ARM處理器編程模型的些基本概念,包括工作狀態切換、數據的存儲格式、處理器異常等,通過對本章的閱讀,希望讀者能了解ARM
    發表于 09-09 14:54 ?382次下載

    ARM處理器的編程模型

    ARM處理器的編程模型 目錄ARM處理器的工作狀態ARM體系結構的存儲格式指令長度及數據
    發表于 02-21 09:14 ?50次下載

    ARM處理器的工作模式

    ARM處理器的工作模式 ARM處理器狀態    ARM處理器
    發表于 03-01 15:41 ?30次下載

    ARM,ARM處理器是什么意思

    ARM,ARM處理器是什么意思 ARM處理器簡介 ARM(Advanced RISC Mach
    發表于 03-26 10:53 ?5276次閱讀

    基于ARM和CPLD的無線內系統設計

    基于ARM和CPLD的無線內系統設計
    發表于 01-24 16:15 ?19次下載

    初識ARM系列處理器

    11和SecurCore,其中ARM11為最近推出的產品。進步的產品來自于合作伙伴,例如Intel Xscale ARM7、ARM9、ARM
    發表于 10-18 15:51 ?3次下載

    arm是什么處理器arm處理器匯總

    ARM處理器是Acorn計算機有限公司面向低預算市場設計的第款RISC微處理器。更早稱作Acorn RISC Machine。ARM
    發表于 11-10 16:32 ?3163次閱讀

    arm的協處理器有幾個?ARM處理器詳解

    本文首先介紹了ARM處理器特點與主要模式,其次介紹了arm的協處理器有幾個,最后介紹了CP14和CP15系統控制協處理器
    發表于 04-24 15:34 ?8972次閱讀

    解答arm是什么/arm處理器采用什么技術

    ARM(Adanced RISC Machines),不僅是是處理器的通稱,也是個公司名字,還可以認為是種技術名字。
    發表于 10-26 09:46 ?8226次閱讀

    arm處理器有哪些中斷源?arm處理器對異常中斷的響應過程

    arm處理器有哪些中斷源?arm處理器對異常中斷的響應過程? ARM處理器
    的頭像 發表于 10-19 16:35 ?1457次閱讀
    主站蜘蛛池模板: 在线免费黄色网址| 午夜手机福利视频| 亚洲欧美人成网站综合在线| 四虎午夜剧场| 第四色播日韩第一页| 亚洲zscs综合网站| 美女黄色一级毛片| 欧美三级网址| 五月婷婷激情五月| 国产一卡二卡≡卡四卡无人 | 午夜免费片在线观看不卡| 日韩dv| 特极毛片| 美女被啪到哭网站在线观看| 手机看片国产福利| 欧美xx高清| 色综合久久五月| 久操伊人网| 午夜久久久久久网站| 一级大片视频| 男人不识本网站上遍色站也枉然| 国产三级国产精品国产普男人| 黄色成人在线网站| 亚洲 欧美 日韩 综合| 免费一级欧美在线观看视频片| www.av片| 国产精品青草久久久久福利99| 亚洲黄色三级| 恐怖片大全恐怖片免费观看好看的恐怖片| 99se亚洲综合色区| 国产精品天天看| 婷婷丁香四月| 午夜视频一区二区| 国产精品久久久精品三级 | 伊人狠狠丁香婷婷综合色| 欧美资源在线| 一夜七次郎久久综合伊人| 亚洲一区二区在线视频| 免费看一级大片| riav久久中文一区二区| 在线播放交视频|