03.08 FPGA加速驅動新時代的數據洪流,下篇

目 錄

  1. 人工智能計算加速器產品系列的相關佈局
  2. FPGA開發的痛點與潛在方案
  3. 結語


在《FPGA加速驅動新時代的數據洪流,上篇》中,老石介紹了英特爾應對大數據時代的整體戰略佈局,特別是基於FPGA的各類智能網卡和網絡解決方案。在本篇中,老石會繼續介紹英特爾FPGA在人工智能和其他熱點領域的佈局和大動作,以及總結梳理一些FPGA開發會遇到的痛點和潛在的解決方案。


1

人工智能計算加速器產品系列的相關佈局

在本次數據中心創新峰會上,英特爾宣佈了Xeon處理器的詳細路線圖,即基於英特爾14nm工藝的Cascade Lake(2018年底出貨),基於14nm工藝的Cooper Lake(2019年出貨),以及基於10nm工藝的Ice Lake(2020年出貨)。


這三款Xeon處理器都在內部集成了對深度學習加速器的原生支持,從而更好的針對人工智能應用進行計算和加速。除此之外,英特爾還展示了“泛數據中心”業務群中針對人工智能應用的全棧芯片產品組合。

FPGA加速驅動新時代的數據洪流,下篇


在人工智能的計算和加速領域,FPGA也被廣泛用作硬件加速模塊來使用,並被部署於數據中心本身以及很多邊緣計算的場合。


對於FPGA在數據中心領域的應用,最有名的例子就是微軟在其數據中心對FPGA使用進行的一系列針對人工智能計算的開創性的探索。


例如,微軟在它最新公佈的“腦波項目(Project Brainwave)”中,使用了英特爾FPGA,構建了實時深度學習平臺。它利用了FPGA的低延時、高並行、低功耗的特點,實現了對Bing搜索服務、微軟Azure雲平臺等多項業務的跨越式加速。關於微軟的FPGA項目已有很多文章進行介紹,本文不再展開。


另外,英特爾於2017年發佈了用於Xeon服務器的新一代標準化的“可編程加速卡(Programmable Acceleration Cards – PACs)”,以及配套的加速棧開發軟件和用戶接口,如下圖所示,並已經得到了包括戴爾、富士通、浪潮等服務器大廠的採用和配套支持。這款加速卡可以使用戶在多個領域進行定製計算加速,包括人工智能、大數據、高性能計算等。

FPGA加速驅動新時代的數據洪流,下篇


FPGA的應用也逐步擴展到網絡邊緣和端點,例如智能安防、視頻採集和處理、自動駕駛和機器人等等,直接在數據來源進行計算加速,並進行人工智能模型的推斷和處理,見下圖。

FPGA加速驅動新時代的數據洪流,下篇


邊緣計算+人工智能通常是國內外初創企業切入市場的主要領域。這一方面是由於數據中心市場太過龐大,因此被巨頭牢牢把持難以進入,另一方面也是由於在這個領域更容易通過創新的算法和方案獲得一席之地。


我國的兩個主要代表企業就是地平線和深鑑科技。其中,前者已獲得英特爾領投的A+輪近一億美元投資,並通過此次投資將FPGA 事業部負責人Dan McNamara安排加入了地平線的董事會;而後者已在A+輪融資後被另一個FPGA大廠Xilinx全資收購。由此,可以十分清晰的看到FPGA公司對邊緣計算和人工智能領域的積極佈局。

FPGA加速驅動新時代的數據洪流,下篇


2

FPGA開發的痛點與潛在方案

至此可以看到,英特爾已經在泛數據中心領域開展了全面的佈局和規劃。其中,FPGA在驅動大數據傳輸和計算這兩個關鍵領域均扮演著重要角色,並且覆蓋了從雲端到網絡邊緣的各個部分。


然而,儘管FPGA被某些國內媒體熱捧為“萬能芯片”,真正的實現對FPGA的廣泛使用還是存在很多難點亟待克服。


第一,學界和業界仍然沒有開創性的方法簡化FPGA的開發,這可以說是現階段制約FPGA廣泛使用的最大障礙。


與CPU或GPU成熟的編程模型和豐富的工具鏈相比,高性能的FPGA設計仍然大部分依靠硬件工程師編寫RTL模型實現。RTL語言的抽象度很低,往往是對硬件電路進行直接描述,這樣一方面需要工程師擁有很高的硬件專業知識,另一方面在開發複雜的算法時會有更久的迭代週期。因此,FPGA標榜的可編程能力與其複雜的編程模型之間,形成了鮮明的矛盾。


近五到十年來,高層次綜合(High Level Synthesis - HLS)一直是FPGA學術界研究的熱點,其重點就是希望設計更加高層次的編程模型和工具,利用現有的編程語言比如C、C++等,對FPGA進行設計開發。在這期間有趣的成果層出不窮,其中有代表性的HLS初創公司有多倫多大學Jason Anderson教授及其學生創辦的LegUp Computing,以及UCLA叢京生教授創辦的Falcon Computing等(見下圖)。

FPGA加速驅動新時代的數據洪流,下篇


在工業界,兩大FPGA公司都選擇支持基於OpenCL的FPGA高層次開發,並分別發佈了自己的API和SDK等開發工具。這在一定程度上降低了FPGA的開發難度,使得C語言程序員可以嘗試在FPGA平臺上進行算法開發,特別是針對人工智能的相關應用。


儘管如此,程序員仍然需要懂得基本的FPGA體系結構和設計約束,這樣才能寫出更加高效的OpenCL模型。另外,基於OpenCL的FPGA設計移植性不是很好,且嚴重基於廠商提供的開發工具和底層模塊的性能,調試起來也不甚便利。


在數據中心網絡應用領域,兩大FPGA公司也開始支持名為P4的網絡編程語言。P4語言大約於2014年由斯坦福大學的Nick McKeown教授提出,主要用來描述網絡交換、路由選擇和數據包處理規則,非常適合數據中心裡高速網絡通信的應用場景。關於P4的具體內容在本文中不再展開,其內容值得再寫一篇文章詳細探討。其實相比全通用的HLS設計而言,類似於P4的針對某類特定應用的HLS工具或許有更大和更快的發展前景。


類似的還有英特爾最新發布的OpenVINO(Open Visual Inference & Neural Network Optimization - 開放的視覺推理和神經網絡優化)開發套件。


顧名思義,OpenVINO專為計算機視覺和深度學習在邊緣計算的應用場景進行優化,其最大特點是支持英特爾的全棧視覺加速方案,包括CPU、GPU、FPGA以及Movidius VPU等,並支持多種深度學習框架。其中,在FPGA上使用OpenVINO進行開發,可以取得高達19倍的性能提升,如下圖所示。

FPGA加速驅動新時代的數據洪流,下篇


第二,FPGA並非適用於各種應用場景。特別是對於一些邊緣計算和嵌入式應用,它們對價格、功耗、性能以及可靠性的統籌要求很高,其中往往價格會是主要的考慮因素。這樣基於FPGA的方案相比於GPU、SoC或者ASIC的方案並沒有很大的優勢,這是由於FPGA並非針對某一特殊應用場景而設計優化。


為了解決這個問題,英特爾近日收購了“結構化ASIC”設計公司eASIC,並計劃將其整合到公司的FPGA事業部中。結構化ASIC設計可以看成是FPGA與ASIC的折中,見下圖。

FPGA加速驅動新時代的數據洪流,下篇


結構化ASIC的主要特點有以下兩點:

  1. 通過犧牲FPGA的一部分可編程性,換取低功耗、低成本和高性能;
  2. 通過犧牲ASIC對設計和佈局的深入優化,換取更快的設計流片時間。


由此可見,對於很多對成本和功耗敏感的應用場景,這種結構化ASIC的設計方法有著很強的競爭力。

有需要購買Xilinx altera TI ADI品牌器件的朋友,請聯繫VX293580331 原裝正品 終身質保 價格最低!歡迎諮詢與推薦!


3

結語

本文總結了在英特爾“以數據為中心(Data-Centric)”的創新峰會上發佈的和FPGA相關的主要技術內容,並由此延伸探討了FPGA在人工智能和大數據時代的機遇和挑戰。


可以說,如今FPGA在泛數據中心應用領域再次煥發新生,各種全新機遇接踵而至。同時我們看到,機遇往往伴隨著挑戰,只有勇於應對挑戰,才能在新的時代不斷前進。


分享到:


相關文章: