在嵌入式系統(tǒng)研發(fā)領(lǐng)域,隨著產(chǎn)品AI化升級進(jìn)程,原先設(shè)計常規(guī)數(shù)字系統(tǒng)的FPGA硬件工程師和系統(tǒng)軟件設(shè)計師們都不得不面臨技術(shù)轉(zhuǎn)型的問題。那么在AI時代, FPGA廠家與傳統(tǒng)的數(shù)字系統(tǒng)軟硬件工程師們該如何轉(zhuǎn)型,才能更好地順應(yīng)市場的需求?
FPGA自誕生起一直在高速復(fù)雜計算領(lǐng)域里占有極大的優(yōu)勢,借助于計算機(jī)輔助設(shè)計工具通過Verilog編程,設(shè)計者可以很方便地將一個通用結(jié)構(gòu)的FPGA芯片構(gòu)造成一個規(guī)模宏大的并行的計算結(jié)構(gòu),這個結(jié)構(gòu)能以通用CPU無法比擬的高速進(jìn)行極其復(fù)雜的數(shù)據(jù)處理。在有實用價值的圖像分析、語音理解等模式識別的處理計算中,通常需要在幾個毫秒之內(nèi)對一幅圖像的所有像素逐點進(jìn)行卷積計算,分析、比較計算結(jié)果,得到可靠的結(jié)論。算法研究工作者通常用普通計算機(jī)的軟件來處理靜態(tài)數(shù)據(jù),得到理論結(jié)果,但實際應(yīng)用中如此慢的響應(yīng)速度根本無法滿足實際工程的需求。最近二十多年來,圖像分析、語音理解等模式識別研究的算法理論研究已逐步成熟,引起了工業(yè)界的興趣,大量的研究經(jīng)費轉(zhuǎn)向如何設(shè)計可以高速進(jìn)行復(fù)雜數(shù)據(jù)處理的并行計算機(jī)結(jié)構(gòu),并研發(fā)實用的AI系統(tǒng)。因此近二十多年來,F(xiàn)PGA芯片和Verilog設(shè)計/驗證方法得到了飛速的發(fā)展。
在圖像處理方面,如人臉識別、指紋識別、語音識別方面的機(jī)器人,其AI表現(xiàn)也十分搶眼。 在這一類機(jī)器人的計算系統(tǒng)中許多極其復(fù)雜的計算工作,絕大部分都是由FPGA結(jié)構(gòu)實現(xiàn)的。而且FPGA可以與各種不同的存儲器、各種不同類型的并行接口或是計算機(jī)接口,如PCIe等方便地連接,它也可以把機(jī)器人與計算機(jī)網(wǎng)絡(luò)和廣大的知識庫融為一體,構(gòu)成極其龐大、響應(yīng)迅速的AI知識系統(tǒng)。
根我所知,許多AI研究工作者習(xí)慣于用軟件進(jìn)行算法研究,他們中的大多數(shù)人用靜態(tài)的圖像或靜態(tài)的聲音(錄下來的聲音)做語音理解或者翻譯方面的工作。在整個過程中,雖然數(shù)據(jù)處理的計算速度比較慢,但還是可以得到可靠的分析處理結(jié)果。但是在實際工程應(yīng)用當(dāng)中,這樣慢的處理速度顯然沒有多大實用價值,因為在許多場合,響應(yīng)根本無法用于實際場合。隨著研究工作向設(shè)計實際系統(tǒng)轉(zhuǎn)換,我建議軟件系統(tǒng)的工程師們應(yīng)該學(xué)會如何使用FPGA,以及如何用FPGA做復(fù)雜計算的加速。其實對計算機(jī)科學(xué)和工程專業(yè)畢業(yè)的軟件工程師而言,只要有數(shù)字電路的基礎(chǔ)知識,學(xué)習(xí)Verilog HDL語言并不困難,學(xué)會RTL級別Verilog的編程來構(gòu)造可綜合的并行迭代計算結(jié)構(gòu)并不困難,只需要花費一兩個月就能上手。
而對于那些在嵌入式系統(tǒng)工作多年的硬件工程師或只有一些簡單接口設(shè)計經(jīng)驗的FPGA工程師而言,雖然不是一個專職研究處理算法的軟件編程專家,但他們必須抽一些時間來理解算法,幫助算法工程師把電路結(jié)構(gòu)改變得更加合理,令計算瓶頸變成寬敞的通道。在AI時代,特別是AI進(jìn)入應(yīng)用的新時代,一個真正的硬件工程師不僅應(yīng)該熟練掌握Verilog的語言,學(xué)會如何用Verilog語言編寫可綜合的并行結(jié)構(gòu),在規(guī)定的時間間隔內(nèi)完成算法要求的計算工作量,并且學(xué)會如何設(shè)計硬件,讓硬件與算法軟件配合,更有效率地完成算法要求的多種計算任務(wù)。把原來算法研究中完全用軟件實現(xiàn)的計算過程,變成用軟件和硬件配合實現(xiàn)的過程,把整個計算結(jié)構(gòu)改造成一個可配置的高速處理的結(jié)構(gòu),專門針對某一領(lǐng)域的人工智能產(chǎn)品,讓這個硬件有更大的市場,這是非常有意義的!
總而言之,對今天的AI嵌入式系統(tǒng)的設(shè)計師而言,必須軟硬兼?zhèn)洳拍艹蔀橐粋€優(yōu)秀的工程師。換言之,軟件人員要往硬件方向轉(zhuǎn),學(xué)習(xí)硬件知識,硬件工程師也必須向軟件工程師靠攏,理解算法的執(zhí)行過程,為AI算法設(shè)計新的計算結(jié)構(gòu)和數(shù)據(jù)通路。這是因為現(xiàn)在AI的軟件編程并不是簡單地編寫一個程序得到一個計算結(jié)果,還必須考慮計算的速度是不是足夠夠快。所以實質(zhì)上是一個如何設(shè)計合理的并行結(jié)構(gòu)計算加速核心硬件,以達(dá)到實時全面完成算法要求的問題。
轉(zhuǎn)型勢在必行,F(xiàn)PGA工程師要理解新任務(wù)、掌握新工具
深維科技 CEO 樊平
對FPGA產(chǎn)品的需求:
1.硬件性能的提升:盡管FPGA在數(shù)據(jù)中心應(yīng)用處于一個快速增長過程,但總體規(guī)模還不是很大,這里面有一些限制,也是FPGA廠商需要努力提升的地方。 首先是價格問題,F(xiàn)PGA的大規(guī)模部署需要FPGA硬件成本盡快降下來,這個要靠工藝進(jìn)步以及市場規(guī)模來解決;其次是存儲訪問帶寬,HBM技術(shù)以及CCIX是代表性的方向。
2.軟件工具的提升:FPGA需要軟件工具來輔助工程師完成設(shè)計過程,在新的應(yīng)用領(lǐng)域?qū)υO(shè)計的內(nèi)容、流程、驗證方法等都提出了新的需求,例如AI應(yīng)用客戶希望具備高層次的模型定制能力,但是目前還沒有廠商可以提供成熟的方案。這也為新的工具提供商提供了機(jī)會。
3.生態(tài)系統(tǒng):GPU獲得了廣泛的認(rèn)同和應(yīng)用,這與CUDA長期的演進(jìn)和積累密不可分。新興應(yīng)用領(lǐng)域大都有流行的設(shè)計框架和開源項目。FPGA一般作為高性能計算硬件來加速現(xiàn)有項目,所以需要和這類設(shè)計框架進(jìn)行融合,也需要大量基礎(chǔ)庫/IP來支持用戶快速完成設(shè)計。所以一個成熟的生態(tài)系統(tǒng)至關(guān)重要,目前這塊也還是非常薄弱。
對FPGA工程師的需求:
1.理解新任務(wù):傳統(tǒng)FPGA工程師面對的是硬件的設(shè)計問題,但AI等應(yīng)用與應(yīng)用系統(tǒng)關(guān)系密切,不單純是FPGA片上邏輯設(shè)計的問題。工程師往往需要了解上層軟件如何與FPGA片上系統(tǒng)的集成與優(yōu)化問題。
2.掌握新工具:FPGA主流廠商很早就開始布局新興市場的應(yīng)用,一個主要工作就是提升FPGA設(shè)計開發(fā)抽象層次,OpenCL/HLS語言就是典型代表,一般情況下可以提升數(shù)倍開發(fā)效率。所以FPGA工程師需要充分掌握這類新的工具,以保障自己能有足夠的效率面對行業(yè)需求。
3.抓住新機(jī)遇:新興應(yīng)用領(lǐng)域不僅僅是FPGA市場的簡單擴(kuò)充,它也為FPGA應(yīng)用帶來新的商業(yè)模式,以FaaS為代表的應(yīng)用形式,為FPGA開發(fā)人員帶來眾多新的商業(yè)機(jī)遇。
Achronix的Speedcore IP具有支持先進(jìn)人工智能技術(shù)的正確功能組合
Achronix 半導(dǎo)體公司市場營銷副總裁 Steve Mensor
人工智能(AI)應(yīng)用要求高性能,并且在許多情況下,低延遲能夠成功地響應(yīng)條件和需求的實時變化。它們還要求功耗盡可能的低從而意味著無法使用,其解決方案是將機(jī)器學(xué)習(xí)放在供電和制冷能力充足的云服務(wù)器端。對這些嵌入式系統(tǒng)的進(jìn)一步要求是,即使在沒有網(wǎng)絡(luò)連接到云端的情況下也都能隨時工作并且準(zhǔn)備好做出響應(yīng)。這些因素的組合要求在硬件設(shè)計方法上做出改變。
人工智能要求謹(jǐn)慎地平衡數(shù)據(jù)通路的性能、內(nèi)存延遲和吞吐量,這就需要用一種方法來將盡可能多的功能放到專用集成電路(ASIC)或系統(tǒng)級芯片(SoC)上。過添加eFPGA技術(shù),則提供了市場需要的一種解決方案,來將靈活性以及客制化邏輯單元支持能力結(jié)合在一起。
作為專為嵌入到SoC和ASIC之中而設(shè)計的硅知識產(chǎn)權(quán)(IP),Achronix的Speedcore eFPGA IP是一種高度靈活的解決方案,它支持高性能機(jī)器學(xué)習(xí)應(yīng)用中需要的數(shù)據(jù)吞吐量。通過借助其可切分的架構(gòu),Speedcore IP為設(shè)計人員提供了滿足其應(yīng)用要求的能力來實現(xiàn)eFPGA功能的混合和匹配。Speedcore IP的核心功能包括基于四輸入查找表(LUT)的邏輯單元、用于寄存器文件和類似應(yīng)用并面向邏輯單元的小型存儲器(LRAM)、較大的單元塊存儲器(BRAM)和可配置的數(shù)字信號處理器(DSP)模塊。根據(jù)應(yīng)用的要求,Speedcore基于縱列的架構(gòu)可提供準(zhǔn)確混合資源的能力。
FPGA工程師要這樣擁抱AI
資深嵌入式軟件工程師 楊鑫
FPGA本身作為一種可編程的邏輯器件,其最突出的特性在于可編程的邏輯部分,這與傳統(tǒng)CPU的順序執(zhí)行方式有著本質(zhì)區(qū)別,與ASIC相比又有著較好的靈活性,在AI產(chǎn)業(yè)興起之前,就一直是ASIC設(shè)計的前期驗證手段。但現(xiàn)在FPGA器件的發(fā)展已經(jīng)跨越了可編程這個特性,現(xiàn)在的FPGA器件往往擁有遠(yuǎn)比通用芯片更高的I/O帶寬和內(nèi)存帶寬例如高達(dá)40Gbps的serdes接口,以及HBM2等超高速內(nèi)存接口,這些接口使得FPGA在通信領(lǐng)域有著非常廣泛的應(yīng)用。
現(xiàn)如今,由于很多AI產(chǎn)品對內(nèi)存帶寬和互聯(lián)互通性有著相當(dāng)高的要求,在較輕運算量的情況下,F(xiàn)PGA的可應(yīng)用場景有了非常大的突破,所以很多小批量、快迭代的產(chǎn)品,其最佳開發(fā)方式反而變成了FPGA,而非ASIC或者GPU等等,因此FPGA開發(fā)人員,只要多熟悉AI技術(shù)、熟悉AI應(yīng)用需求,仍然可以在AI行業(yè)游刃有余,不斷打造新的傳奇。
現(xiàn)在的圖像處理和數(shù)據(jù)的傳輸、分配這些事情在人工智能開發(fā)方面發(fā)揮著重要作用,在AI時代需要FPGA工程師尤其是做軟件算法和做硬件設(shè)計的人要優(yōu)勢互補(bǔ)。
產(chǎn)品設(shè)計好后還要與原來的計算機(jī)與服務(wù)器連接在一塊兒,那么還需要做系統(tǒng)級設(shè)計。這對FPGA的軟件工程師、硬件工程師都是一個新的挑戰(zhàn)。希望FPGA工程師們成功轉(zhuǎn)型,為AI時代能設(shè)計出更好的產(chǎn)品助力。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21753瀏覽量
604180 -
AI
+關(guān)注
關(guān)注
87文章
31054瀏覽量
269407
原文標(biāo)題:AI時代FPGA廠商與FPGA工程師該如何轉(zhuǎn)型?
文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論