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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

簡(jiǎn)述FPGA在microsoft azure的應(yīng)用

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

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

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

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

3 復(fù)雜的數(shù)據(jù)處理能力。FPGA能夠有針對(duì)性的處理邏輯關(guān)系復(fù)雜的程序,這相比于CPU,GPU等依賴指令處理數(shù)據(jù)的芯片有優(yōu)勢(shì),因?yàn)樗軌蜃龅礁偷难舆t。

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

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

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

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

這些缺點(diǎn)并不意味著我們對(duì)FPGA在未來(lái)AI應(yīng)用中抱著悲觀的想法,一個(gè)是未來(lái)場(chǎng)景的復(fù)雜性和多樣性,一個(gè)是FPGA也在尋求改進(jìn)和發(fā)展。第一個(gè)決定了FPGA一定能夠在AI中活下去,第二個(gè)決定了FPGA在AI中活的怎么樣。

接下來(lái)我們來(lái)了解一下FPGA在微軟云azure中的應(yīng)用。

Azure stack edge

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

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

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

超算中心的FPGA

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

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

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

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

FPGA架構(gòu)

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

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

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

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

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

編輯:jq

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

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603421
  • 云計(jì)算
    +關(guān)注

    關(guān)注

    39

    文章

    7808

    瀏覽量

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

    關(guān)注

    0

    文章

    13

    瀏覽量

    7707
  • 邊緣計(jì)算
    +關(guān)注

    關(guān)注

    22

    文章

    3092

    瀏覽量

    48965

原文標(biāo)題:FPGA在microsoft azure的應(yīng)用

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    印孚瑟斯與微軟擴(kuò)大戰(zhàn)略合作,加速客戶云與AI轉(zhuǎn)型

    印孚瑟斯(Infosys)近日宣布與微軟(Microsoft)進(jìn)一步擴(kuò)大戰(zhàn)略合作,旨在加速全球客戶對(duì)生成式人工智能(AI)和Microsoft Azure云的采用。
    的頭像 發(fā)表于 10-11 16:20 ?246次閱讀

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

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

    如影數(shù)字人生成平臺(tái)SenseAvatar上線微軟全球云市場(chǎng)

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

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

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

    Build 2024發(fā)布多項(xiàng)Azure AI Speech全新多模態(tài)功能

    客戶們持續(xù)使用 Azure OpenAI 和 Azure AI Speech 進(jìn)行創(chuàng)新,為企業(yè)引入新的效率,并構(gòu)建新的多模態(tài)體驗(yàn)。
    的頭像 發(fā)表于 05-28 09:08 ?573次閱讀
    Build 2024發(fā)布多項(xiàng)<b class='flag-5'>Azure</b> AI Speech全新多模態(tài)功能

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

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

    Microsoft Start Networks中國(guó)內(nèi)容生態(tài)伙伴峰會(huì)成功舉辦

    2024年5月22日,蘇州——微軟 Microsoft Start Networks 中國(guó)內(nèi)容生態(tài)伙伴峰會(huì)( Microsoft Start Partner Summit )微軟蘇州新園區(qū)成功舉辦。
    的頭像 發(fā)表于 05-23 09:21 ?401次閱讀

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

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

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

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

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

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

    微軟推出Microsoft Copilot及Microsoft Azure OpenAI,引領(lǐng)AI風(fēng)潮

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

    微軟和英偉達(dá)擴(kuò)展長(zhǎng)期合作關(guān)系

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

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

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

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

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

    RAMQTT/TLS Azure云連接解決方案-細(xì)胞應(yīng)用項(xiàng)目

    電子發(fā)燒友網(wǎng)站提供《RAMQTT/TLS Azure云連接解決方案-細(xì)胞應(yīng)用項(xiàng)目.pdf》資料免費(fèi)下載
    發(fā)表于 01-03 09:55 ?0次下載
    RAMQTT/TLS <b class='flag-5'>Azure</b>云連接解決方案-細(xì)胞應(yīng)用項(xiàng)目