EdgeBoard多並發高性能通用CNN架構剖析

2020-12-05 OFweek維科網

2.3 卷積計算加速單元的設計思路

作為CNN網絡中比重最大、最為核心的卷積計算加速單元,是CNN軟核性能加速的關鍵,也佔用了FPGA晶片的大部分算力分配和邏輯資源消耗。下面將針對EdgeBoard卷積計算加速單元的設計思路進行簡要介紹,此章節也是理解CNN軟核算力彈性配置的技術基礎。

每一層網絡的卷積運算,有M個輸入圖片(稱之為feature map,對應著一個輸入通道),N個輸出feature map(N個輸出通道),M個輸入會分別進行卷積運算然後求和,獲得一幅輸出map。那麼需要的卷積核數量就是M*N。

針對上述計算特點,EdgeBoard的卷積單元採用脈動陣列的數據流動結構,將數據在PE之間通過寄存器進行打拍操作,可以實現在第二個PE計算結果出來的同時完成和前一個PE的求和。這樣可以使數據在運算單元的陣列中進行流動,減少訪存的次數,並且結構更加規整,布線更加統一,提高系統工作頻率,避免了採用加法樹等並行結構所造成的高扇出問題。

因此,如上圖所示,我們可以分別從Feature Map和Kernel兩個維度去定義脈動陣列的並行結構。從Feature Map的角度,縱向的行與行直接卷積窗口相互獨立,也就是輸出的每行之間所對應的數據計算互不幹擾,在此維度定義的多並發計算稱之為Window維度的並行度。從Kernel的角度,為了達到計算結果的快速流出減少片上緩存佔用,我們設計了每個Kernel核之間的多並發計算,稱之為Kernel維度的並行度。以上兩個維度同時並發既可以提高整體並行計算效率,也充分利用了脈動陣列的數據流水特性。

2.4 卷積計算加速單元的通用性擴展

前一章節詳細介紹了基於PL實現的卷積計算加速單元的設計原理,那麼如果是由於晶片的SRAM存儲資源不夠而導致的CNN網絡參數支持範圍較小,EdgeBoard將如何拓展CNN軟核的網絡支持通用性? 我們可以利用靈活的SDK調度管理單元提前將Feature Map或者Kernel數據進行拆分,然後再執行算子任務的下發。

一條滑窗鏈的Feature Map數據不夠存儲

SDK可以將一條滑窗鏈的Feature Map數據分成B塊,並將分塊數B和每個塊的數據量告訴卷積計算加速單元,那麼後者則可以分批依次從DDR讀取B次Feature Map數據,每次的數據量是可以存入到Image SRAM內。

Kernel的總體數據不夠存儲

SDK可以將Kernel的數量分割成S份,使得分割後的每份Kernel數量可以下發到PL側的Filter SRAM中,然後SDK分別調度S次卷積算子執行操作,所有的數據返回DDR後,再從通道(Channel)維度做這S次計算結果的數據拼接(Concat)即可。不過要注意的是,我們的Filter SRAM雖然不需存儲所有Kernel的數據量,但至少要保證能夠存儲一個Kernel的數據量。

由此看來,即使EdgeBoard三兄弟中最小的FZ3擁有極其有限的片上存儲資源,也是能夠很好地完成大多數CNN網絡的參數適配。

相關焦點

  • 京東資深架構師:學架構從三高開始學就行了
    基本素質:精通多種開發語言和框架,掌握分布式、多線程、緩存、資料庫等等。加分項:掌握不同業務形態下的底層技術套路,對後臺系統架構能一通百通,面試中顯示出極強的知識遷移能力。滿足後者,至少你已經達到了一個架構師的思維水平,這才體現你的技術潛力,是你加價的籌碼。
  • EdgeBoard中「活靈活現」的算子
    CPU基於馮諾依曼架構,雖然靈活,卻延遲很大,在推理和訓練過程中主要完成其擅長的控制和調度類任務。GPU以犧牲靈活性為代價來提高計算吞吐量,但其成本高、功耗大,尤其對於推理環節,並行度的優勢並不能完全發揮。專用ASIC晶片開發周期長,資金投入大,由於其結構固化無法適應目前快速演進的AI算法。
  • 從體系結構的演變看高性能微處理器的發展趨勢
    微處理器體系結構隨著高性能計算的需求,計算機體系結構發生了很大變化。向量處理器對線性向量元素順序操作,SIMD則對向量元素進行並發操作。對前者,每條指令只能作用於一個功能部件,執行時間較長;而後者在執行指令時可以作用於多個功能部件。向量處理器採用交叉存儲器實現向量的訪存操作,同時可對短向量進行有效操作,即對稀疏向量進行壓縮以獲得高性能。
  • 從日活數百到千萬並發,觀伺服器架構升級之路
    1、系統架構演化歷程-初始階段架構初始階段 的小型系統 應用程式、資料庫、文件等所有的資源都在一臺伺服器上通俗稱為LAMP特徵:應用程式、資料庫、文件等所有的資源都在一臺伺服器上。描述:數據量增加,單臺伺服器性能及存儲空間不足,需要將應用和數據分離,並發處理能力和數據存儲空間得到了很大改善。
  • 「鵬城雲腦II」獲世界 IO500 冠軍,基於華為鯤鵬 920 架構|高性能...
    該機所搭載的超算緩存文件系統 MadFS 由清華大學計算機系存儲系統研發團隊所研發而成,而 「鵬城雲腦 Ⅱ」是一臺基於華為鯤鵬 920 架構的高性能計算系統,擁有超過 1000P OPS 的人工智慧算力,由鵬城實驗室與華為在 2019 年 11 月 29 日共同發布,於 2020 年 10 月建成試運行。
  • CNN架構創新分為七個不同的類別綜述
    深度 CNN 架構在挑戰性基準任務比賽中實現的高性能表明,創新的架構理念以及參數優化可以提高 CNN 在各種視覺相關任務上的性能。本綜述將最近的 CNN 架構創新分為七個不同的類別,分別基於空間利用、深度、多路徑、寬度、特徵圖利用、通道提升和注意力。 引言 通過 1989 年 LeCun 處理網格狀拓撲數據(圖像和時間系列數據)的研究,CNN 首次受到關注。
  • CPU遭遇瓶頸效應 GPU催熱桌面高性能計算
    (對於開發者而言這裡的多處理器和多核處理器可認為是等同的)過去,在單核時代,我們一樣可以同時運行很多程序。只不過對於使用者來說,同時運行的程序多了互相影響,機器難免會顯得有些「慢」。這反映在程序上來說就是多個程序執行起來相對單獨執行某個程序有些慢。  而這個過程,稱之為「並發」。並發使處理器可以「並行」的運行超過處理器數量的多個任務。
  • 怎樣設計最優的卷積神經網絡架構?|NAS原理剖析
    但是,關於如何才能設計出最優的卷積神經網絡架構這個問題仍在處於探索階段。其中一大部分原因是因為當前那些取得成功的神經網絡的架構設計原理仍然是一個黑盒。雖然我們有著關於改進神經網絡表現的豐富心得,但其實並沒有真正了解神經網絡是如何達到當前這麼優秀的表現。關於CNNs的一些線索我們從如下幾點開始剖析。
  • 分布式架構概述
    分布式架構是一個非常複雜的體系,任何技術都不是孤立的存在,任何技術都無法適應所有場景。作為一名分布式系統架構或者資深研發人員,我們必須儘可能多的學習與之相關的各種知識,掌握各種技術的演進路線,正式從一名碼農蛻變成為架構師什麼是分布式?網際網路應用的特點是:高並發,海量數據。
  • 什麼才是真正的架構設計?
    技術架構技術架構:確定組成應用系統的實際運行組件(lvs,nginx,tomcat,php-fpm等),這些運行組件之間的關係,以及部署到硬體的策略。技術架構主要考慮系統的非功能性特徵,對系統的高可用、高性能、擴展、安全、伸縮性、簡潔等做系統級的把握。系統架構的設計要求架構師具備軟體和硬體的功能和性能的過硬知識,這也是架構設計工作中最為困難的工作。
  • 改變翻天覆地 史上最全Fermi架構解讀
    G80憑藉全新的MIMD(多指令流多數據流)統一著色器(又稱流處理器)獲得了業界的一致認同,同時被業界關注的還有G80的通用計算性能。    NVIDIA的Tony Tamasi先生(NVIDIA高級副總裁,產品與技術總監)表示:「以前的G80架構是非常出色的圖形處器。
  • 在多目標識別方面,maskr-cnn已經取得了一些進展
    一些需要和矽材料打交道的領域,如計算機視覺、硬體加工及產品開發等,越來越多人去學習微電子技術。根據美國貝爾實驗室(belllaboratory)2018年5月19日最新出版的《新創新指南》(newentrepreneursguide),人工智慧能力的發展與突破,有望提高生產性能和生產效率。
  • 「鵬城雲腦 II」獲世界 IO500 冠軍 基於華為鯤鵬 920 架構
    原標題:「鵬城雲腦 II」獲世界 IO500 冠軍,基於華為鯤鵬 920 架構   IT之家11月24日消息 11 月 19 日,搭載超算
  • Fliteboard電動水翼衝浪板背後的碳纖維和玻璃纖維3D列印技術
    Fliteboard電動水翼衝浪板背後的碳纖維和玻璃纖維3D列印技術 2018-07-13 21:19 來源: 3D科學谷 Fliteboard正在迅速成為最新水陸運動中的市場領導者
  • 秒殺低端碼錶 EDGE 200新品開箱體驗(全文)_佳明手持GPS_GPS...
    那麼話不多說我們馬上對edge 200進行開箱體驗吧。註:目前京東商城有滿499元立減100元活動(活動至7月15號),實際購買價格為399元。    因為減少了對ANT+的支持,edge200所附贈的配件也相應減少了,所以產品的包裝看上去比較小一些。
  • NVIDIA為什麼能夠在高性能計算領域獲得成功?
    • 摘要:本文將介紹GPU在工作站以及高性能計算方面所取得的成就。除了新技術為傳統PC應用所帶來的新體驗,其在高性能計算領域的應用則讓很多與會者大開眼界。NVIDIA為什麼能夠在高性能計算領域獲得成功?筆者認為,這其中有三方面的因素影響。  • 標籤:NVIDIA 高性能計算 GPU  本文將介紹GPU在工作站以及高性能計算方面所取得的成就。
  • 湖北通用航空企業首架高性能飛機空中國王350i落戶荊州
    9月25日10時整,從天津濱海國際機場起航的空中國王350i飛機平穩降落在沙市機場,這標誌著湖北通用航空企業引進的首架高性能飛機正式落戶荊州據介紹,這架由湖北楚天通用航空有限責任公司引進的高性能飛機,被稱為渦槳飛機中的「國王」,重達7噸、翼展17.65米,擁有全密封艙,機身兩側安裝有除冰裝置,座艙設有動態減震器,適合高空飛行,飛行高度可達10668米,且在任何飛行條件下,機艙內都保持平穩、安靜狀態。
  • 一文知道高性能接口的設計準則
    一文知道高性能接口的設計準則 科技伍小黑 發表於 2021-01-08 10:28:52 高並發經常會發生在有大活躍用戶量,用戶高聚集的業務場景中,如:秒殺活動,定時領取紅包等。
  • ActiveMQ架構設計與實踐,需要一萬字
    M-S模型是最通用的架構模型,它提供了「高可用」特性,當Master失效後,Slaves之一提升為master繼續提供服務,且Failover之後消息仍然可以恢復。(根據底層存儲不同,有可能會有消息的丟失)。有以下兩方面要點:第一,M-S架構中,涉及到選舉問題,選舉的首要條件就是需要有「排它鎖」的支持。
  • 架構師必須知道的架構設計原則
    雖然仍是假期,但也建議你多花點時間讀一讀這些真言。 寫在前面 如果一個技術已經存在 2 年,比如現在很火的前端技術 react 和 vue 等,那麼我能預估這個技術大致還有 2 年的生命期,再久就不確定了;如果一個架構或設計原則已經存在 15 年,例如單一職責和依賴倒置原則,我可以預期它還有 15 年甚至更久的生命期。