1. 程式人生 > >AI時代FPGA廠商與FPGA工程師該如何轉型?

AI時代FPGA廠商與FPGA工程師該如何轉型?

在嵌入式系統研發領域,隨著產品AI化升級程序,原先設計常規數字系統的FPGA硬體工程師和系統軟體設計師們都不得不面臨技術轉型的問題。那麼在AI時代, FPGA廠家與傳統的數字系統軟硬體工程師們該如何轉型,才能更好地順應市場的需求?《微控制器與嵌入式系統應用》小編特意邀請了專家給大家答疑解惑~

業界聲音 

掌握 Verilog FPGA設計和驗證方法是AI時代系統設計師的生命線

北航電子資訊工程學院退休教授

北京至芯科技FPGA培訓部技術顧問  夏宇聞

FPGA自誕生起一直在高速複雜計算領域裡佔有極大的優勢,藉助於計算機輔助設計工具通過Verilog程式設計,設計者可以很方便地將一個通用結構的FPGA晶片構造成一個規模巨集大的並行的計算結構,這個結構能以通用CPU無法比擬的高速進行極其複雜的資料處理。在有實用價值的影象分析、語音理解等模式識別的處理計算中,通常需要在幾個毫秒之內對一幅影象的所有畫素逐點進行卷積計算,分析、比較計算結果,得到可靠的結論。演算法研究工作者通常用普通計算機的軟體來處理靜態資料,得到理論結果,但實際應用中如此慢的響應速度根本無法滿足實際工程的需求。最近二十多年來,影象分析、語音理解等模式識別研究的演算法理論研究已逐步成熟,引起了工業界的興趣,大量的研究經費轉向如何設計可以高速進行復雜資料處理的平行計算機結構,並研發實用的AI系統。因此近二十多年來,FPGA晶片和Verilog設計/驗證方法得到了飛速的發展。

640?wx_fmt=jpeg

在影象處理方面,如人臉識別、指紋識別、語音識別方面的機器人,其AI表現也十分搶眼。 在這一類機器人的計算系統中許多極其複雜的計算工作,絕大部分都是由FPGA結構實現的。而且FPGA可以與各種不同的儲存器、各種不同型別的並行介面或是計算機介面,如PCIe等方便地連線,它也可以把機器人與計算機網路和廣大的知識庫融為一體,構成極其龐大、響應迅速的AI知識系統。

根我所知,許多AI研究工作者習慣於用軟體進行演算法研究,他們中的大多數人用靜態的影象或靜態的聲音(錄下來的聲音)做語音理解或者翻譯方面的工作。在整個過程中,雖然資料處理的計算速度比較慢,但還是可以得到可靠的分析處理結果。但是在實際工程應用當中,這樣慢的處理速度顯然沒有多大實用價值,因為在許多場合,響應根本無法用於實際場合。隨著研究工作向設計實際系統轉換,我建議軟體系統的工程師們應該學會如何使用FPGA,以及如何用FPGA做複雜計算的加速。其實對電腦科學和工程專業畢業的軟體工程師而言,只要有數位電路的基礎知識,學習Verilog HDL語言並不困難,學會RTL級別Verilog的程式設計來構造可綜合的並行迭代計算結構並不困難,只需要花費一兩個月就能上手。

而對於那些在嵌入式系統工作多年的硬體工程師或只有一些簡單介面設計經驗的FPGA工程師而言,雖然不是一個專職研究處理演算法的軟體程式設計專家,但他們必須抽一些時間來理解演算法,幫助演算法工程師把電路結構改變得更加合理,令計算瓶頸變成寬敞的通道。在AI時代,特別是AI進入應用的新時代,一個真正的硬體工程師不僅應該熟練掌握Verilog的語言,學會如何用Verilog語言編寫可綜合的並行結構,在規定的時間間隔內完成演算法要求的計算工作量,並且學會如何設計硬體,讓硬體與演算法軟體配合,更有效率地完成演算法要求的多種計算任務。把原來演算法研究中完全用軟體實現的計算過程,變成用軟體和硬體配合實現的過程,把整個計算結構改造成一個可配置的高速處理的結構,專門針對某一領域的人工智慧產品,讓這個硬體有更大的市場,這是非常有意義的!

總而言之,對今天的AI嵌入式系統的設計師而言,必須軟硬兼備才能成為一個優秀的工程師。換言之,軟體人員要往硬體方向轉,學習硬體知識,硬體工程師也必須向軟體工程師靠攏,理解演算法的執行過程,為AI演算法設計新的計算結構和資料通路。這是因為現在AI的軟體程式設計並不是簡單地編寫一個程式得到一個計算結果,還必須考慮計算的速度是不是足夠夠快。所以實質上是一個如何設計合理的並行結構計算加速核心硬體,以達到實時全面完成演算法要求的問題。

轉型勢在必行,FPGA工程師要理解新任務、掌握新工具

深維科技 CEO  樊平

對FPGA產品的需求:

1.硬體效能的提升:儘管FPGA在資料中心應用處於一個快速增長過程,但總體規模還不是很大,這裡面有一些限制,也是FPGA廠商需要努力提升的地方。 首先是價格問題,FPGA的大規模部署需要FPGA硬體成本儘快降下來,這個要靠工藝進步以及市場規模來解決;其次是儲存訪問頻寬,HBM技術以及CCIX是代表性的方向。

2.軟體工具的提升:FPGA需要軟體工具來輔助工程師完成設計過程,在新的應用領域對設計的內容、流程、驗證方法等都提出了新的需求,例如AI應用客戶希望具備高層次的模型定製能力,但是目前還沒有廠商可以提供成熟的方案。這也為新的工具提供商提供了機會。

3.生態系統:GPU獲得了廣泛的認同和應用,這與CUDA長期的演進和積累密不可分。新興應用領域大都有流行的設計框架和開源專案。FPGA一般作為高效能運算硬體來加速現有專案,所以需要和這類設計框架進行融合,也需要大量基礎庫/IP來支援使用者快速完成設計。所以一個成熟的生態系統至關重要,目前這塊也還是非常薄弱。

640?wx_fmt=jpeg

對FPGA工程師的需求:

1.理解新任務:傳統FPGA工程師面對的是硬體的設計問題,但AI等應用與應用系統關係密切,不單純是FPGA片上邏輯設計的問題。工程師往往需要了解上層軟體如何與FPGA片上系統的整合與優化問題。

2.掌握新工具:FPGA主流廠商很早就開始佈局新興市場的應用,一個主要工作就是提升FPGA設計開發抽象層次,OpenCL/HLS語言就是典型代表,一般情況下可以提升數倍開發效率。所以FPGA工程師需要充分掌握這類新的工具,以保障自己能有足夠的效率面對行業需求。

3.抓住新機遇:新興應用領域不僅僅是FPGA市場的簡單擴充,它也為FPGA應用帶來新的商業模式,以FaaS為代表的應用形式,為FPGA開發人員帶來眾多新的商業機遇。

Achronix的Speedcore IP具有支援先進人工智慧技術的正確功能組合

Achronix 半導體公司市場營銷副總裁  Steve Mensor

人工智慧(AI)應用要求高效能,並且在許多情況下,低延遲能夠成功地響應條件和需求的實時變化。它們還要求功耗盡可能的低從而意味著無法使用,其解決方案是將機器學習放在供電和製冷能力充足的雲伺服器端。對這些嵌入式系統的進一步要求是,即使在沒有網路連線到雲端的情況下也都能隨時工作並且準備好做出響應。這些因素的組合要求在硬體設計方法上做出改變。

640?wx_fmt=jpeg

人工智慧要求謹慎地平衡資料通路的效能、記憶體延遲和吞吐量,這就需要用一種方法來將盡可能多的功能放到專用積體電路(ASIC)或系統級晶片(SoC)上。過新增eFPGA技術,則提供了市場需要的一種解決方案,來將靈活性以及客製化邏輯單元支援能力結合在一起。

作為專為嵌入到SoC和ASIC之中而設計的矽智慧財產權(IP),Achronix的Speedcore eFPGA IP是一種高度靈活的解決方案,它支援高效能機器學習應用中需要的資料吞吐量。通過藉助其可切分的架構,Speedcore IP為設計人員提供了滿足其應用要求的能力來實現eFPGA功能的混合和匹配。Speedcore IP的核心功能包括基於四輸入查詢表(LUT)的邏輯單元、用於暫存器檔案和類似應用並面向邏輯單元的小型儲存器(LRAM)、較大的單元塊儲存器(BRAM)和可配置的數字訊號處理器(DSP)模組。根據應用的要求,Speedcore基於縱列的架構可提供準確混合資源的能力。

FPGA工程師要這樣擁抱AI

資深嵌入式軟體工程師 楊鑫

FPGA本身作為一種可程式設計的邏輯器件,其最突出的特性在於可程式設計的邏輯部分,這與傳統CPU的順序執行方式有著本質區別,與ASIC相比又有著較好的靈活性,在AI產業興起之前,就一直是ASIC設計的前期驗證手段。但現在FPGA器件的發展已經跨越了可程式設計這個特性,現在的FPGA器件往往擁有遠比通用晶片更高的I/O頻寬和記憶體頻寬例如高達40Gbps的serdes介面,以及HBM2等超高速記憶體介面,這些介面使得FPGA在通訊領域有著非常廣泛的應用。

現如今,由於很多AI產品對記憶體頻寬和互聯互通性有著相當高的要求,在較輕運算量的情況下,FPGA的可應用場景有了非常大的突破,所以很多小批量、快迭代的產品,其最佳開發方式反而變成了FPGA,而非ASIC或者GPU等等,因此FPGA開發人員,只要多熟悉AI技術、熟悉AI應用需求,仍然可以在AI行業遊刃有餘,不斷打造新的傳奇。

編輯視角

現在的影象處理和資料的傳輸、分配這些事情在人工智慧開發方面發揮著重要作用,在AI時代需要FPGA工程師尤其是做軟體演算法和做硬體設計的人要優勢互補。

產品設計好後還要與原來的計算機與伺服器連線在一塊兒,那麼還需要做系統級設計。這對FPGA的軟體工程師、硬體工程師都是一個新的挑戰。希望FPGA工程師們成功轉型,為AI時代能設計出更好的產品助力。

640?

--------------------- 本文來自 嵌入式資訊精選 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/DP29syM41zyGndVF/article/details/79990338?utm_source=copy