《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > FPGA:AI ASIC的必經之路?

FPGA:AI ASIC的必經之路?

2018-08-22
關鍵詞: AI FPGA ASIC 端測DNN

想起寫這篇矽說的起源是一個月前的AI界大新聞——知名AI硬件公司深鑒被FPGA巨頭Xilinx收購,傳說中的交易金額在n億美金不等,大家紛紛感概創始人的財富自由與高尚情懷(給清華大學捐了500萬,簡直是國內由學、研至產再回饋學的典范),一時佳話。與此同時,各種危言聳聽也開始流傳,如AI領域的垂直整合大幕即將開啟,泡沫破滅已經不遠矣的恐懼也落在雨后春筍般崛起的AI硬件公司中。


我并不想去評斷那個商業行為背后的動機,只是想以此為契機從技術的角度,略略討論下這次收購背后的關鍵因素——FPGA和ASIC的在AI計算中銜接關系。因為并不是專家,所以如有錯誤理解請指出。


從FPGA到ASIC,異曲同工還是南轅北轍?


在國產AI硬件三強“寒地深”中,deephi最強的當屬其面向AI的專用design kit —— DNNDK以及其FPGA的實現,其中涵蓋了其大殺四方的必殺技——稀疏化網絡。做AI硬件的如果沒有看過剪枝(prunning)就可以放棄科研了。


與此同時,deephi也有其ASIC產品線——聽濤系列SoC。

微信圖片_20180822143641.jpg



我們假設聽濤的亞里士多德結構傳承自深鑒在Zynq 7020上的Aristotle架構(Aristotle是亞里士多德的英文),即下圖: (注:這里是姑妄言之隨便臆測,這個假設很有可能是不對的)


微信圖片_20180822143705.jpg

那么,問題來了 AI硬件的架構最優解是否從FPGA 到 ASIC是一以貫之呢?


這個問題還需要回到FPGA和ASIC的設計的價值觀。隨著FPGA芯片的發展不斷深化,在一個FPGA fabric中,核心基礎模塊早已不僅僅是查找表(Look Up Table, LUT)。在以算力為主要矛盾的FPGA設計中,(典型例子是神經網絡),FPGA中的DSP和BRAM IP的高效率決定了該設計的最終性能。


讓我們來看看目前應用廣泛的Xilinx 7系列的dsp48 macro IP,其基本架構如下圖,基本可以理解為一個可配置乘加模塊,值得注意的是其輸入位寬,25位和18位,輸出位寬可以達到48位。

微信圖片_20180822143725.jpg



這時候,尷尬的故事發生了,DNN,特別是端測DNN的大部分應用僅僅需要8位精度,如果用牛逼的dsp48就是大炮打蚊子,如果用LUT綜邏輯時序又無法滿足。這個時候,Xilinx官宣了一份白皮書WP487,給出了一種在NN場景下一個dsp48怎樣實現并行實現兩個8-bit精度的方法。簡而言之就是把兩個8-比特數拼成一個27位的數,當中隔了10位然后和第三個數相乘,乘法的結果的MSB和 LSB分別是兩個乘法的結果。總之,尷尬癌還是有那么點的。

微信圖片_20180822143749.jpg


在這個場景下,每次MAC需要3個周期才能完成,復雜的流水線實現會給帶來很多debug的空間。然而在ASIC實現中,8-bit MAC僅僅需要一個周期,跑到500MHz是分分鐘的事情。由此,如果照搬FGPA的RTL到ASIC,那將帶來許多平白無故的性能損失。該問題可能在時下越來越流行的低精度神經網絡中越來越顯著,比如在ISSCC 2018中韓國KAIST提出的新形復用MAC,在乘加內部做了新邏輯,完全超出了FPGA的mapping范圍,但是其在功耗性能上的優勢顯著。


同樣的問題還發生在片上RAM的使用。筆者認為,CNN專用處理器和經典SIMD計算/矩陣乘加速器 最大的差別,就是在于利用CNN的數據復用實現多樣化的data flow上。而實現各種data flow的切實需求就在于有一個不大不小的scratchpad用于實現存儲partial sum。目前主流的設計,每個MAC對應scratchpad大小在0.5kb-2kb左右。而FPGA片上macro IP(RAMB18E1)提供的BRAM/FIFO 的單位尺寸為18kb,顯著地大于scratchpad的需求。于是這個scratchpad在FPGA上的實現又陷于兩難,直接綜合將消耗大量的LUT中DFF的資源,如果用片上macro,又有一定程度的浪費,并且擠壓了用于存儲feature/weight的空間。由于這個scratchpad大小的尷尬處境,很多FPGA的DNN實現專注在矩陣乘法(Matrix product)的實現上,而放棄了在CNN/DNN中復雜data flow的支持。同樣地,這個問題在以RAM compiler為基礎的ASIC實現上毫無問題,畢竟ASIC設計中可以自由配置scratchpad的大小。


綜上所述,FPGA和 ASIC在面向AI的專用設計中,雖然表面都是寫RTL,但是在具體架構和思想上已經有了較大的差異。FPGA設計的最優解是最大化底層marco IP的拼積木設計,而ASIC卻完全沒有這樣的限制,以放飛自我的方式尋找可能。由此,照搬FPGA而來的ASIC很有可能在某種程度上受這些限制的影響,也無法達到存在的ASIC最優解。這或許也是為什么深鑒在FPGA原型開發完成之后,還付出了大量努力才能完成真正ASIC設計的原因。


FPGA原型驗證:食之無味,棄之可惜?


傳統意義上,FPGA出現的一個重要因素是為了給ASIC做原型驗證(Prototyping)的。不可否認,原型驗證仍然是FPGA的一個重大市場。

微信圖片_20180822143812.jpg



在AI應用中,除了對RTL code的功能驗證和高速仿真外,FPGA Prototyping對于產品的更重要優勢在于,更早地讓嵌入式軟件設計(Embedded Software Development)進入整體設計流程。軟件領域的bug和靈活度的數量級往往都遠高于硬件,如果等ASIC流片完了再對軟件和系統接口著手,那也是白白浪費時間。原型驗證的一大優勢就是盡早地從系統和集成的角度,以硬件原型著手進行軟件與嵌入式的開發。而于此同時后端以及流片的ASIC研發時間可以同步進行。


但和RTL simulation相比,Prototype的debug性差也是路人皆知的。常見的FPGA Prototype的debug方法是人為的在RTL中設置觀測點(probe),調用片上BRAM存儲,然后用類似JTAG的串口方式讀取存儲信號,再現波形。顯然地,這種觀測方法方法是在和有實際功用的RTL競爭片上BRAM資源,特別是在存儲深度大,位寬寬的情況下。更嚴重的問題是如果發生了新一輪規模性的修改probe,而導致的重新綜合與實現可能會耗去大量時間,可能還不如simulation的效率高。目前主流的FPGA的debug方案基本都是如上思路,如下圖中的ChipScope+ILA模式。

微信圖片_20180822143832.jpg



不僅如此,FPGA prototyping在復雜時鐘設計中的表現也令人堪憂。對于FPGA的初學者,門控時鐘(clock gating,CG)幾乎是完全不推薦的。而作為最主流的ASIC降功耗手段,CG幾乎存在AI芯片的每一角落,特別是在具有稀疏性的網絡中,門控時鐘是最簡單易行的降低功耗的做法。FPGA對這一特點的弱支持將導致原型驗證可能存在不完整性問題。除此之外,多時鐘域的問題在FPGA的原型驗證也是一個問題,由于FPGA片上的PLL資源受限,在原型設計中也將收到諸多限制。


上述種種原因的情況下,FPGA作為AI芯片的原型驗證重要平臺,雖然仍是不少產品的重要選項,但是目前的受到的挑戰令他越來越后繼乏力。


Hardware Emulator,領域專用的FPGA


隨著集成電路EDA工具的發展,一個兼具良好debug性能,又可接近原型功能提供軟件開發的便利的新型SoC系統開發工具正在崛起——hardware emulator(硬件模擬器)。可以說它兼具了simulation和prototype的優點,又在很大程度上彌補了缺點。目前主流的EDA工具開發商均提供emulator平臺,并且期望在不遠的將來,實現以emulator為中心的SoC開發流程。Synopsys 家的Zebu,Cadence家的Palladium和Mentor家的Veloce。其中Zebu就是以Xilinx的高端FPGA為基本元件搭建的。


從技術角度上,FPGA emulation 和 prototype的差別在于——emulator的RTL mapping是將原本的RTL分解映射(partition)到多塊FPGA上,每塊FPGA本身還集成了用于debug的觀測硬件部分的代碼。在Partition同時,設計EDA軟件還關注模塊間的通信行為,通過FPGA集成的高速傳輸(high speed link)和路由(router)特性完成實現SoC partition,避免了在單一FPGA中硬件資源受限制的問題。

微信圖片_20180822143854.jpg



下圖從性能的角度比較了以FPGA為核心的原型驗證平臺與模擬器平臺的上的區別。可以發現,emulator雖然在速度上并不具有優勢,但是,其在內部數據的可觀測性,以及由此帶來的debug的可實現性能,均具有明顯的優勢。可以說,基于FPGA的模擬器正在并非對AISC 設計原代碼的直接映射,反之是在源代碼基礎上通過Partition, Interconnection,Probe-serialization等一系列RTL的再生成后,產生的新RTL的映射。拿時髦的話來講,emulator是領域專用的FPGA Prototyping。

微信圖片_20180822143941.jpg



當然,FPGA emulator有一個明顯的劣勢,那就是貴!對于剛過門檻的AI 硬件startup們,購買一臺emulator是真的在流血。但即使如此,隨著AI ASIC對于系統和應用的要求越來越高,未來基于FPGA的Emulator取代基于FPGA的Prototyping是否將成為一種潮流?讓我們拭目以待。


FPGA AI:是否需要走ASIC的老路?


如前所述,FPGA設計很難直接照搬到ASIC。事實上,FPGA上的AI應用是否真的要走傳統ASIC的老路,即“發現需求——定義產品規格——上量大規模出貨——以年為時間單位更新換代”?我們認為,FPGA的可重配置特點讓它完全沒有必要走這條路,而是可以走更接近于軟件開發模式的道路。一個例子就是最近流行的云端FPGA instance(AWS,阿里云等),用戶可以根據其自身的需求在云端FPGA instance上燒入相應的bit-stream,從而讓FPGA能成為針對你應用的專用加速器。另一個云FPGA的好處在于潛在地統一了FPGA的選型,令開源工作的移植減少了很多不必要的配置bug。著名的NVDLA的FPGA版本就以支持AWS的FPGA平臺為主要方案。


至此,FPGA AI這樣一來設計迭代速度(尤其是配合了Chisel,HLS等敏捷開發流程之后)可以遠遠快于傳統ASIC流程,同時硬件的能效比則遠高于傳統的CPU/GPU。這一招在異構計算得到越來越多重視的今天可謂是迎合了潮流(關于異構計算詳見RISC-V與DSA! 計算機架構宗師Patterson與Hennessy 演講實錄)。這也是為什么我們看到微軟,亞馬遜都紛紛在云端數據中心部署FPGA,而Intel則也在往高端CPU里加入Altera FPGA。未來,這種新的模式可望成為FPGA市場的一個新成長點,值得我們關注。


最后做個小總結,


(1)對于AI硬件的實現而言,FPGA和ASIC的 優化路徑有很大區別,從FPGA到ASIC的直接移植并不是一種高效的做法。

(2)強調一下這里并不是說基于FPGA的AI實現就沒有未來,(相反我覺得還潛力無限),本文只是對于從FPGA到ASIC的直接移植提出了一點小想法。我們預計FPGA將會配合敏捷設計擁有自己的新生態。

(3)FPGA對SoC設計流程的影響正在從原型驗證往硬件模擬的角度發展,你的產品有沒有掉隊呢?


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产欧美在线人成| 欧美一区二视频| 欧美一级理论性理论a| 一区二区三区**美女毛片| 亚洲激情中文1区| 亚洲风情亚aⅴ在线发布| 国产一区二区中文| 国产一区二区三区成人欧美日韩在线观看 | 欧美精选在线| 欧美韩日一区二区三区| 欧美国产精品久久| 欧美第一黄网免费网站| 欧美激情按摩| 欧美日韩性视频在线| 欧美体内she精视频在线观看| 欧美日韩国产综合久久| 欧美午夜精品久久久久免费视| 欧美日韩午夜精品| 国产精品多人| 国产日产亚洲精品系列| 国产在线一区二区三区四区| 精品动漫3d一区二区三区免费| 在线观看91精品国产麻豆| 亚洲国产91色在线| 亚洲精品九九| 在线亚洲自拍| 亚洲欧美在线网| 久久国产88| 亚洲三级电影全部在线观看高清| 亚洲免费电影在线| 亚洲午夜一区二区三区| 亚洲欧美在线免费| 久久国产日本精品| 欧美**字幕| 欧美日韩一区二区高清| 国产精品一二一区| 国产专区欧美精品| 亚洲欧洲一区二区三区在线观看 | 亚洲美女av网站| 一区二区三区成人精品| 亚洲女ⅴideoshd黑人| 久久高清国产| 99热免费精品在线观看| 亚洲嫩草精品久久| 久久天堂精品| 欧美精品七区| 国产美女精品免费电影| 精品99一区二区| 亚洲日本激情| 亚洲欧美国产不卡| 亚洲国产天堂网精品网站| 一二美女精品欧洲| 欧美在线亚洲综合一区| 蜜臀久久99精品久久久久久9| 欧美精品久久久久a| 国产精品免费网站在线观看| 狠狠色狠狠色综合日日五| 91久久久久久国产精品| 亚洲天堂成人| 亚洲国产日韩欧美在线图片| 亚洲视频网在线直播| 久久精品主播| 欧美男人的天堂| 国产一区二区三区久久悠悠色av | 国模私拍视频一区| 亚洲乱码国产乱码精品精天堂| 亚洲综合清纯丝袜自拍| 亚洲欧洲综合| 欧美一区二区精品在线| 欧美大片在线看| 国产精品亚洲а∨天堂免在线| 精品成人国产| 亚洲一区二区综合| 亚洲精品护士| 欧美在线免费观看视频| 欧美激情国产日韩精品一区18| 国产精品看片你懂得| 在线观看日产精品| 亚洲一区二三| 日韩一级二级三级| 久久久久五月天| 国产精品盗摄久久久| 亚洲国产成人av| 亚洲欧美日韩精品综合在线观看| 亚洲精品午夜| 久久人人97超碰国产公开结果| 欧美午夜视频在线| 亚洲福利免费| 一二三区精品福利视频| 亚洲欧洲综合| 久久精品中文字幕一区| 国产精品美女久久福利网站| 91久久精品国产91久久| 久久精品亚洲一区二区| 欧美一区二区三区四区在线观看| 欧美日韩岛国| 亚洲第一黄色| 久久精品日产第一区二区三区| 午夜精品国产更新| 欧美日韩中字| 亚洲人成网站影音先锋播放| 久久精品视频在线播放| 午夜久久一区| 国产精品福利在线观看| 亚洲伦理网站| 日韩午夜av| 欧美激情国产日韩| 亚洲丰满在线| 91久久久久| 蜜臀av一级做a爰片久久| 国产在线不卡| 香蕉乱码成人久久天堂爱免费| 亚洲免费视频一区二区| 欧美三级视频| 日韩视频永久免费| 99国产精品| 欧美久久精品午夜青青大伊人| 亚洲高清毛片| 91久久亚洲| 你懂的国产精品| 影音先锋一区| 亚洲日韩成人| 亚洲欧美在线观看| 国产噜噜噜噜噜久久久久久久久| 亚洲图中文字幕| 午夜精品久久久久久久久久久久久| 国产精品国产三级国产普通话99| 一区二区欧美在线观看| 亚洲一区国产| 国产精品久久久久久久久婷婷 | 另类春色校园亚洲| 在线精品在线| 亚洲六月丁香色婷婷综合久久| 欧美黑人多人双交| 亚洲精品一区久久久久久| 一本色道久久加勒比88综合| 欧美精品乱码久久久久久按摩| 亚洲日本va午夜在线影院| 一区二区三区高清在线观看| 欧美日韩综合| 亚洲综合日韩中文字幕v在线| 午夜精品一区二区三区电影天堂| 国产女主播一区| 久久国产精品久久久久久| 久久一区二区三区av| 在线欧美一区| 夜夜嗨av一区二区三区四季av | 亚洲深夜福利网站| 欧美一区二区三区在线看| 国产主播精品在线| 亚洲欧洲日本专区| 欧美日韩日日夜夜| 亚洲第一福利社区| 亚洲午夜在线观看视频在线| 国产精品毛片a∨一区二区三区|国| 午夜精品久久久久久99热| 久久久欧美精品sm网站| 亚洲国产成人久久| 亚洲视频网站在线观看| 国产女主播一区二区三区| 久久福利视频导航| 欧美剧在线观看| 亚洲免费在线视频| 美女成人午夜| 一个色综合导航| 久久久国产91| 亚洲欧洲精品一区二区三区 | 午夜精品久久久久久99热| 国内精品视频在线播放| 日韩亚洲视频在线| 国产美女在线精品免费观看| 亚洲国产精品尤物yw在线观看| 欧美午夜电影网| 久久不射中文字幕| 欧美日韩一级黄| 欧美在线播放一区二区| 欧美激情一区二区三区高清视频 | 亚洲伦理在线| 久久国产免费看| 亚洲日本成人女熟在线观看| 欧美影院午夜播放| 亚洲国产精品久久精品怡红院| 亚洲欧美国产77777| 尤物在线精品| 欧美一区二区精品久久911| 国产精品网站在线| 亚洲欧美日本视频在线观看| 欧美福利在线| 亚洲欧美成人综合| 欧美另类一区二区三区| 欧美亚洲一区| 欧美日韩在线电影| 久久精品国产一区二区电影| 欧美午夜精品一区| 亚洲激情国产精品| 国产欧美日韩精品一区| 一本久久青青| 亚洲第一精品福利| 久久精品女人| 亚洲天堂久久|