智能應(yīng)用不斷推陳出新,最初被用于概念驗證 (PoC) 的現(xiàn)場可編程邏輯門陣列 (FPGA),地位亦不可同日而語。龍頭廠商賽靈思 (Xilinx) 表示,近幾年來在一個電路板上,F(xiàn)PGA 可作為中央處理器 (CPU)、圖形處理器 (GPU) 或微控制器 (MCU) 的加速引擎或協(xié)作處理器,然而如今的 FPGA,擔(dān)當(dāng)主控的能力可毫不遜色!賽靈思軟件與人工智能資深經(jīng)理羅霖直指,5G 通信、自動駕駛、傳感器融合 (Sensors Fusion) 算法演進極快、且效率要求高,F(xiàn)PGA 憑借配置靈活特性、加上安謀 (Arm) 強力生態(tài)的助攻,F(xiàn)PGA 隱然有升格主角之勢。
照片人物:賽靈思軟件與人工智能資深經(jīng)理羅霖
ASIC 等級的 FPGA X SoC 等級的設(shè)計套件
Zynq-7000 全可編程應(yīng)用處理器單芯片 (AP SoC),是 Xilinx 開啟異構(gòu)計算的經(jīng)典,采 28nm、集 FPGA 硬件可編程性與 Arm 軟件編程兩者之長,不僅能實現(xiàn)關(guān)鍵分析與硬件加速,還能結(jié)合各式 CPU、數(shù)字信號處理器 (DSP)、專用標準產(chǎn)品 (ASSP) 及單一組件混合信號,有利于客制化智能、差異化獨特應(yīng)用。第二個好處是讓編程工具更加友善、降低開發(fā)者的進入門坎;Zynq-7000 所使用的 Vivado HLx 版本開發(fā)工具包乃是基于 C/C++、OpenCL (開放計算語言) 和 IP 設(shè)計優(yōu)化而成、且可重復(fù)使用,能協(xié)助 FGPA 新手盡速駕輕就熟并整合自動化。
羅霖評估,傳統(tǒng)專用芯片 (ASIC) 的設(shè)計約需 1~2 年,但 FPGA 從設(shè)計到量產(chǎn)最快不到一年就能完成,特別適合用于開發(fā)大量新應(yīng)用。再者,豐富的操作系統(tǒng) (OS)、中間件 (middleware)、堆棧 (stack)、加速器 (accelerator)、多重軟/硬件保全機制,以及序列、平行、MIPI 和傳感器等 I/O 外圍接口,也是各家 FPGA 廠商力拼的基本配備,以優(yōu)化系統(tǒng)層級效能。Xilinx 于 2013 年首開先河、采 20nm 制程導(dǎo)入全新 UltraScale 可編程架構(gòu),解決系統(tǒng)流量擴充、延遲率與芯片互連的瓶頸,標榜是"ASIC 等級的 FPGA",計算效能媲美專用芯片。
同年震撼業(yè)界的還有"首款 SoC 等級的 Vivado 設(shè)計套件",擁有可加速 C / C++ 系統(tǒng)級設(shè)計和高端合成 (HLS) 完整函式庫,將視頻處理功能整合在跨平臺電腦視覺庫 OpenCV,方便開發(fā)者在雙核心 Arm 處理器嵌入視覺計算功能。此前,F(xiàn)PGA 雖以設(shè)計彈性著稱,但自成一格的編程環(huán)境也讓不少人望而卻步;有了這套貼心配備,開發(fā)者在開發(fā) Arm-based 處理器的同時,能經(jīng)由 FPGA 為密集計算自動加速,號稱較硬件加速的 C/C++ 算法提升百倍效能。此外,相較于 RTL (緩存器傳遞語言) 設(shè)計流程,Vivado HLS 亦可讓系統(tǒng)驗證和建置時間加速百倍。
"異構(gòu)多重處理"深受智能攝影機&邊緣 AI 青睞
之后,因應(yīng)多重處理興起,2015 年緊接推出 16nm Zynq UltraScale+ MPSoC (異構(gòu)多重處理系統(tǒng)芯片),集成多達七個可編程處理器 (含 AP、實時處理器和圖形處理器)。今年初瞄準規(guī)格仍在不斷完善的 5G 通信再推第二代 Zynq UltraScale+ 射頻 (RF) 單芯片,已于 6 月正式量產(chǎn),能涵蓋 sub-6GHz 所有頻段、支持直接射頻取樣;近期將問市的第三代組件再延伸毫米波 (mmWave) 接口,讓覆蓋更完整,并減少 20% 功耗。不過羅霖透露,穿戴式的消費電子設(shè)備功耗須壓在 1W 以下,現(xiàn)階段并非 Xilinx 的目標市場。
相對的,智能攝影機 (<5W) 和邊緣人工智能 (AI) 設(shè)備 (>10W) 是他們主力所在,尤以車用高級駕駛輔助系統(tǒng) (ADAS)、保全監(jiān)控、無人商店、無人搬運車 (AGV) 和自動光學(xué)檢測 (AOI) 最為看好,它們各自有著嚴謹?shù)男幸?guī):馬達控制等工業(yè)應(yīng)用有 IEC 61508 安全標準把關(guān);車用除了須滿足 AEC-Q100 芯片可靠度外,隨著自動駕駛程度的提高,ISO 26262 等功能性安全 (Function Safety) 日受重視,而 Xilinx 車用產(chǎn)品大都已符合 ASIL C 或 D 安全等級。順帶一提,F(xiàn)PGA 雖可支持浮點計算,但不少專家主張 ADAS 較適合"定點量化"計算。
對此,羅霖解讀:定點因為效率較高,的確是圖像、影像和通信的主流技術(shù);以精確度取勝的浮點,則較適合天氣或金融等敏感數(shù)據(jù)的應(yīng)用,取決于對數(shù)據(jù)容忍度而定。另一方面,靜態(tài)圖像 vs. 動態(tài)圖像的計算側(cè)重也不同,關(guān)鍵在于:低延遲,動態(tài)連續(xù)稍縱即逝,而靜態(tài)沒有時間概念,對延遲較寬松。他還提到,與內(nèi)存的數(shù)據(jù)往返亦是影響延遲的因素之一,F(xiàn)PGA 的分布式片上內(nèi)存可按需配置,對計算效能也有幫助。Xilinx 在 28nm、20nm 和 16nm 投產(chǎn)皆拔得頭籌,去年底發(fā)布的"Versal"ACAP (自行調(diào)適計算加速平臺),再次于 7nm 先馳得點。
接軌 AI,"軟件定義硬件"時代來臨!
Versal ACAP 當(dāng)中的 Prime 系列與 AI 核心系列于 2019 下半年開始全面供應(yīng)。其最大特色是:內(nèi)嵌純量處理引擎、自行調(diào)適硬件引擎、搭載先進內(nèi)存和接口技術(shù)的智能引擎,可提供異質(zhì)加速、擴展性及 AI 推論能力 (號稱較 GPU 高出八倍)。此外,此平臺的系列產(chǎn)品可從任一引擎直接存取內(nèi)存并支持定制內(nèi)存階層,可進一步優(yōu)化處理效能;且內(nèi)建所有組件皆通過具備主從鏈接端口的網(wǎng)絡(luò)單芯片 (Network on Chip, NoC) 互連,每秒傳輸帶寬達太位 (Terabit) 并兼具低延遲、低高耗及原生軟件的可編程能力。
羅霖總結(jié),單一功能的 ASIC 不易應(yīng)對復(fù)雜場景及日新月異的 AI 算法,為匹配多元算法,"軟件定義硬件"已是大勢所趨;而 Versal ACAP 已囊括基本底層核心、工具鏈、編譯程序和函式庫,其好處是:只要使用常規(guī)的設(shè)計工具、軟件、IP、中間件和框架,不論是有無電子工程基礎(chǔ)的軟、硬件工程師或數(shù)據(jù)科學(xué)家,都能輕松投入 AI 開發(fā),針對軟、硬件進行編程與優(yōu)化。為無縫運用各種開放原始碼的標準開發(fā)系統(tǒng)并組建環(huán)境,Xilinx 日前在既有 Vivado 設(shè)計套件之外,再發(fā)布堆棧式統(tǒng)一軟件平臺"Vitis"。
Vitis 旨在將硬件模塊封裝成為"具軟件可調(diào)用"(software-callable) 功能,讓開發(fā)者得以專注于算法,共有五層架構(gòu):1.基礎(chǔ)層為目標平臺,由電路板與預(yù)編程 I/O 組成;2.第二層為核心開發(fā)工具包,用以管理不同領(lǐng)域之間的數(shù)據(jù)移動,包括開源的運行時間函式庫,以及編譯程序、分析器與除錯器等核心開發(fā)工具;3.第三層是在八個 Vitis 函式庫中提供逾 400 個優(yōu)化開源應(yīng)用,讓軟件開發(fā)者能使用標準應(yīng)用程序編程接口 (API) 落實硬件加速;4.第四層是 Vitis AI,整合配置 Xilinx 硬件的領(lǐng)域?qū)S眉軜?gòu) (DSA),便于開發(fā)者套用 TensorFlow、Caffe 等框架。
圖3:Vitis堆棧
資料來源:Xilinx提供