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

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

3天內(nèi)不再提示

簡述FPGA在microsoft azure的應用

FPGA之家 ? 來源:賽靈思電子科技(北京) ? 作者: moon ? 2021-06-01 11:50 ? 次閱讀

隨著5G通信技術(shù)的發(fā)展,云計算和邊緣計算業(yè)務也將快速增長。由于云計算多樣性和邊緣環(huán)境復雜性的特點,將決定了在CPU,GPUFPGA,ASIC中,不會只有一種芯片存在。所以FPGA一定可以尋找到它的應用方向。相較于其它幾種芯片,F(xiàn)PGA具有以下幾種優(yōu)勢:

1 靈活可編程。FPGA是以LUT作為基本結(jié)構(gòu)的器件,可以根據(jù)需求的變化對其擦除重寫,運行新的程序。

2 高帶寬。FPGA芯片有很多高速管腳,可以連接多顆DRAM,產(chǎn)生較高的帶寬。

3 復雜的數(shù)據(jù)處理能力。FPGA能夠有針對性的處理邏輯關(guān)系復雜的程序,這相比于CPU,GPU等依賴指令處理數(shù)據(jù)的芯片有優(yōu)勢,因為它能夠做到更低的延遲。

FPGA也存在以下劣勢限制了它的發(fā)展:

1 編程復雜,開發(fā)周期較長。RTL的開發(fā)包括了架構(gòu)設計,RTL代碼,仿真驗證,上板調(diào)試。一個項目的周期往往是軟件開發(fā)的幾倍,團隊規(guī)模也較大。這些既提高了開發(fā)成本,又沒法適應不斷迭代的產(chǎn)品需求。

2 粗粒度硬件結(jié)構(gòu)導致資源利用率低。FPGA達不到100%的資源利用率,這是對資源的一種浪費,體現(xiàn)在經(jīng)濟上是提高了成本。

以上兩方面都可以歸結(jié)到成本這一點上,但是如果能夠解決1問題,那么2問題也就迎刃而解了。因為如果FPGA的市場應用多了,那么其制造成本也會下降。1問題的解決一直在路上,但是一直沒有解決。HLS等類似軟件編程語言的出現(xiàn)可以提高FPGA的開發(fā)效率,但是相比于純軟件開發(fā)語言還是存在一定復雜性。而相對于RTL語言來說,HLS語言的硬件描述性不夠鮮明。所以硬件開發(fā)人員更多的會選擇硬件描述清晰的verilog,system Verilog等語言。

這些缺點并不意味著我們對FPGA在未來AI應用中抱著悲觀的想法,一個是未來場景的復雜性和多樣性,一個是FPGA也在尋求改進和發(fā)展。第一個決定了FPGA一定能夠在AI中活下去,第二個決定了FPGA在AI中活的怎么樣。

接下來我們來了解一下FPGA在微軟云azure中的應用。

Azure stack edge

微軟在邊緣做了產(chǎn)品布局,依據(jù)邊緣的規(guī)模,提供了兩類產(chǎn)品。一類是針對計算任務繁重的企業(yè)用戶,其提供了基于GPU和FPGA的Pro設備,能夠?qū)崿F(xiàn)邊緣端的數(shù)據(jù)預處理,包括聚合數(shù)據(jù),修改數(shù)據(jù)等,以及運行ML模型。另外一類是針對隨時移動的用戶,提供了小而便攜的設備。這些設備使用了intel針對視覺處理專門研發(fā)的VPU芯片。

雖然在2024年基于FPGA的pro設備將停用,而遷移到基于GPU的設備上。但是VPU芯片的出現(xiàn),反映了在邊緣計算應用中,F(xiàn)PGA所發(fā)生的可能轉(zhuǎn)變。在多變的邊緣目標上,小芯片能夠更有針對性的保留有效的計算資源,這樣精簡了結(jié)構(gòu),降低了功耗。

Intel VPU是集成了Leon處理器,12個SHAVE計算核以及一個DRAM的SoC結(jié)構(gòu)。SHAVE是一個向量處理器,能夠進行大量的向量運算。所以VPU能夠適合運行ML模型,以及進行一些圖像處理方面的工作。目前VPU能夠支持21種神經(jīng)網(wǎng)絡算子,包括conv,relu等。這些神經(jīng)網(wǎng)絡可以通過其編譯器工具NCAPI轉(zhuǎn)化為可以在VPU中執(zhí)行的指令。目前能夠支持inception,mobilenet,googlenet,ssd,alexnet等很多卷積和LSTM網(wǎng)絡。

超算中心的FPGA

微軟在數(shù)據(jù)中心系統(tǒng)性的構(gòu)建了一個FPGA集群,這個FPGA集群能夠?qū)崿F(xiàn)內(nèi)部和外部server的互聯(lián)。在頂層軟件的分配調(diào)度下,可以執(zhí)行多種不同的任務,包括web search ranking, deep neural networks, expensive compression等。

FPGA集群的基本結(jié)構(gòu)如上圖所示:包括了兩塊CPU和一塊altera的FPGA芯片。FPGA通過PCIE和一個NIC來和兩塊CPU進行通信。NIC保證了FPGA可以實現(xiàn)原位處理網(wǎng)絡數(shù)據(jù)包。FPGA之間還通過ToR實現(xiàn)互聯(lián),ToR保證了一個任務能夠被分割為多個子任務,然后分配給多個FPGA處理。

在邏輯層面,F(xiàn)PGA定義了Lightweight Transport Layer(LTL)和Elastic Router(ER)。LTL實現(xiàn)了不同的FPGA芯片之間的互聯(lián),這樣保證了遠程FPGA之間的通信,使得整個FPGA集群處于一個整體中。ER是用于同一個FPGA芯片中不同任務的互聯(lián)。LTL和ER的混合使用能夠靈活的為FPGA分配不同任務,滿足數(shù)據(jù)中心任務多樣性需求。

ToR形成了三層結(jié)構(gòu),L0層連接了24個FPGA設備,L1連接了960個設備,L2級可能連接了超過幾百萬的設備。L0級的round-trip延時大概在2.8us,L1級平均在7.7us,而L2級在22us。

FPGA架構(gòu)

微軟的神經(jīng)網(wǎng)絡加速器主要是針對單batch低延遲來設計的,其所期望的是能夠最大限度的將weight緩存在片上,通過將一個大的網(wǎng)絡進行分割,分配到多個FPGA芯片上實現(xiàn)。其分割的子網(wǎng)絡的權(quán)重大小可以適配一顆FPGA芯片上weight的緩存空間。架構(gòu)將計算重點放在矩陣-向量乘法上,這個也是合理的,因為LSTM,CNN網(wǎng)絡大部分計算量都由矩陣乘法承擔。

其它函數(shù)運算,包括向量加法,乘法,sigmoid,tanh等函數(shù),則統(tǒng)一到同一個多功能函數(shù)模塊中。這樣做的好處是簡化了FPGA架構(gòu),同時也簡化了數(shù)據(jù)流。因此其整個架構(gòu)中沒有多端口共享的memory,不存在對多數(shù)據(jù)訪問沖突的處理。同時也簡化了指令,消除了對指令依賴關(guān)系的判斷和檢測。FPGA架構(gòu)中有對指令的進一步分解和處理,所以軟件端的指令非常簡單,就是通過C語言的宏定義實現(xiàn)的。

其矩陣向量乘法結(jié)構(gòu)是由多個dot-product結(jié)構(gòu)組成的,多個dot-product和累加器形成了一個tile,然后多個tile就構(gòu)成了一個大的矩陣向量乘法。

軟件結(jié)構(gòu)

神經(jīng)網(wǎng)絡加速器的工具鏈包括:CNTK(微軟自定義的一個指令級描述),tensorflow或者caffe的圖文件作為輸入,然后通過前端轉(zhuǎn)化為IR表示,然后依據(jù)網(wǎng)絡大小以及FPGA中資源情況對圖進行分割和優(yōu)化,然后產(chǎn)生硬件可執(zhí)行指令。如果網(wǎng)絡較大,那么網(wǎng)絡可以被分割成多個子圖,部署到不同F(xiàn)PGA上。如果一個矩陣乘法過大,那么可以被分割成多塊來實現(xiàn)。對于不可實現(xiàn)的神經(jīng)網(wǎng)絡算子,工具鏈可以將多個不可實現(xiàn)算子組合成一個子圖,在CPU上完成。

編輯:jq

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

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598923
  • 云計算
    +關(guān)注

    關(guān)注

    38

    文章

    7612

    瀏覽量

    136739
  • 高帶寬
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    7693
  • 邊緣計算
    +關(guān)注

    關(guān)注

    22

    文章

    2986

    瀏覽量

    47813

原文標題:FPGA在microsoft azure的應用

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于Arm架構(gòu)的Azure虛擬機助力云原生應用開發(fā)

    定制芯片有助于解決現(xiàn)代基礎設施所面臨的計算挑戰(zhàn),例如人工智能 (AI) 時代與日俱增的計算復雜性。Microsoft Azure Cobalt 100 等采用 Arm Neoverse 計算
    的頭像 發(fā)表于 09-05 15:54 ?1447次閱讀

    如影數(shù)字人生成平臺SenseAvatar上線微軟全球云市場

    近日,如影數(shù)字人生成平臺SenseAvatar正式微軟全球云市場Microsoft Azure Marketplace上線,為客戶提供高質(zhì)量的數(shù)字人內(nèi)容制作服務。
    的頭像 發(fā)表于 07-24 17:21 ?516次閱讀

    Microsoft AI 推進行業(yè)企業(yè)智慧化創(chuàng)新

    突破與進展,并同步更新了Microsoft Build 2024全球開發(fā)者大會上發(fā)布的一系列Azure AI新服務與新功能、加速壯大的Microsoft Copilot智能副駕駛 技
    的頭像 發(fā)表于 06-17 16:59 ?870次閱讀

    NVIDIA與微軟擴展合作,幫助開發(fā)者更快構(gòu)建和部署AI應用

    NVIDIA Microsoft Build 開發(fā)者大會上展示了與 Microsoft Azure 和 Windows PC 的集成解決方案,簡化了 AI 模型部署并優(yōu)化了路徑規(guī)劃
    的頭像 發(fā)表于 05-23 10:14 ?301次閱讀

    微軟Build大會將展示多項云端軟硬件新技術(shù)

    早先在2023年11月Ignite大會上,微軟首次宣布自研芯片計劃,包括用于Azure云端通用計算和AI任務的Arm架構(gòu)芯片“Microsoft Azure Cobalt 100”及專為AI設計的
    的頭像 發(fā)表于 05-17 11:15 ?245次閱讀

    西門子攜微軟,通過Azure為產(chǎn)品生命周期管理提供 AI 增強解決方案

    為首個登錄 Azure 的軟件 · 西門子 Teamcenter 將與微軟 Azure OpenAI 服務和 Copilot for Microsoft 365 相集成,助力企業(yè)提高生產(chǎn)力,并將產(chǎn)品更快
    的頭像 發(fā)表于 05-16 17:33 ?307次閱讀
    西門子攜微軟,通過<b class='flag-5'>Azure</b>為產(chǎn)品生命周期管理提供 AI 增強解決方案

    Microsoft Azure墨西哥區(qū)域正式發(fā)布(GA)!

    Azure是全球三大公有云中第一家上線墨西哥區(qū)域的云平臺!
    的頭像 發(fā)表于 05-13 10:27 ?296次閱讀

    微軟推出Microsoft Copilot及Microsoft Azure OpenAI,引領AI風潮

    數(shù)據(jù)、算法、算力三大關(guān)鍵要素的交織作用,加速了人工智能技術(shù)千行百業(yè)的廣泛落地,人類正在進入 AI 應用的星辰大海。
    的頭像 發(fā)表于 03-26 10:51 ?444次閱讀

    微軟和英偉達擴展長期合作關(guān)系

    Microsoft Azure、Azure AI服務、Microsoft Fabric以及Microsoft 365等多個平臺,為用戶提供前
    的頭像 發(fā)表于 03-20 10:36 ?660次閱讀

    Microsoft Copilot for Security(國際版)將于4月1日全球范圍內(nèi)正式發(fā)布

    今天,我們很高興地宣布,Microsoft Copilot for Security (國際版) 將于 4 月 1 日全球范圍內(nèi)正式發(fā)布。
    的頭像 發(fā)表于 03-14 09:11 ?553次閱讀

    Azure?物聯(lián)網(wǎng)的門鎖示例

    電子發(fā)燒友網(wǎng)站提供《Azure?物聯(lián)網(wǎng)的門鎖示例.pdf》資料免費下載
    發(fā)表于 02-01 09:59 ?7次下載
    <b class='flag-5'>Azure</b>?物聯(lián)網(wǎng)的門鎖示例

    NVIDIA Microsoft Azure 上推出面向全球企業(yè)和初創(chuàng)公司的生成式 AI Foundry 服務

    AI Enterprise 軟件進行部署 NVIDIA 于今日推出一項 AI foundry 服務,助力企業(yè)和初創(chuàng)公司 Microsoft Azure 上開發(fā)、調(diào)優(yōu)和部署其自定義生成式 AI
    的頭像 發(fā)表于 11-16 21:15 ?431次閱讀

    NVIDIA 宣布 Microsoft Azure 上提供 Omniverse Cloud 服務,加速汽車行業(yè)的數(shù)字化進程

    Microsoft Azure 上托管的虛擬工廠和自動駕駛汽車仿真引擎為設計、制造和操作汽車提供了快速通道。 眾多車企正在深入改變其產(chǎn)品生命周期的各個階段,將其以物理、人工為主的流程,升級進化成軟件
    的頭像 發(fā)表于 11-16 21:10 ?450次閱讀

    NVIDIA Microsoft Azure 上推出面向全球企業(yè)和初創(chuàng)公司的 生成式 AI Foundry 服務

    和初創(chuàng)公司 Microsoft Azure 上開發(fā)、調(diào)優(yōu)和部署其自定義生成式 AI 應用。 ? 這項 NVIDIA AI foundry 服務整合了 NVIDIA AI Foundation
    發(fā)表于 11-16 14:13 ?280次閱讀
    NVIDIA <b class='flag-5'>在</b> <b class='flag-5'>Microsoft</b> <b class='flag-5'>Azure</b> 上推出面向全球企業(yè)和初創(chuàng)公司的 生成式 AI Foundry 服務

    STM32Cube的Microsoft Azure IoT云軟件擴展入門

    電子發(fā)燒友網(wǎng)站提供《STM32Cube的Microsoft Azure IoT云軟件擴展入門.pdf》資料免費下載
    發(fā)表于 09-25 14:55 ?0次下載
    STM32Cube的<b class='flag-5'>Microsoft</b> <b class='flag-5'>Azure</b> IoT云軟件擴展入門