請問用fpga實現神經網路加速用hls還是verilog好呢?

時間 2021-05-11 19:29:04

1樓:ALINX

一般情況應該用HLS算方便一些,你應該會找一些開源的演算法,比如yolo v3,然後用HLS轉換成FPGA可以執行的程式,你自己寫演算法的概率應該很低了,所以從轉換來說,應該用HLS比verilog方便很多。

2樓:史峰

可以考慮用Chisel (https://www.

chisel-lang.org/

),比verilog上手容易,而且不容易犯錯。雖然目前使用的人不多,感覺未來應該可以取代verilog。FPGA公司提供的HLS過於依賴自家的IP和FPGA晶元本身架構。

谷歌的Edge TPU就是用Chisel寫的。

3樓:easyboy

既然你剛入門,那麼你短時間(1年內)是不可能用verilog做出來的。

那麼你要畢業,又不能換題目,硬上的話,建議買一塊PYNQ開發板,自帶CNN的hls工程,熟悉一下流程,跑給老師看一下,就能畢業了

4樓:

用 HLS 然後用 Vitis + DPU。DPU 作為 Xilinx 為深度學習專門優化過的 IP core,能極大的提高你的效率,不過現在還不是那麼好用。Vitis 比起 SDSoc 更智慧型,寫 HLS 也更方便,但是綜合也更慢。

5樓:zcl

你多看幾篇文章你就會發現,好像大家都在用hls。如果只是單純的發文章或者做乙個簡單的demo,我覺得hls足夠了。然後,再說說學習途徑和教程嘍。

用fpga對神經網路進行加速,要學的就兩大塊,神經網路演算法和硬體設計。演算法方面,網上有太多太多了,我建議看看cs231n課程,講的蠻不錯的。硬體設計的話,多看看fpga領域四大會議(fpga, fccm, fpl, fpt)裡近幾年關於AI加速器相關的文章,看看大家都是怎麼設計AI加速器的。

工業屆AI晶元的架構也可以參考一下,比如,達文西架構,NVDLA,含光800等等。不過,想在這一塊發一些比較好的文章感覺光從硬體架構這塊創新已經不夠了,得結合演算法。當然,可以試試加速訓練,做這一塊的感覺不多,你想了個比較好的結構,說不定還可以去創業,哈哈。

用c 實現神經網路一般用什麼庫?

SMP66 2021年了,必須推薦一波後來出現的pytorch了。pytorch c api完全能滿足任意神經網路的設計,而且足夠簡單。比如我個人的開源分割專案就是基於pytorch cpp寫的。 Python的Theano每次執行都會先產生C程式碼再編譯執行.在Linux底下的話翻開資料夾 the...

multi task深度神經網路如何實現,優化?

知識達人 多工學習有很多形式,如聯合學習 Joint Learning 自主學習 Learning to Learn 借助輔助任務學習 Learning with Auxiliary Tasks 等,這些只是其中一些別名。概括來講,一旦發現正在優化多於乙個的目標函式,你就可以通過多工學習來有效求解 ...

關於使用HLS在FPGA上做卷積神經網路(CNN)加速的疑問?

楊軼凡 如果以純軟體角度寫出的HLS在硬體上肯定能跑,但是只是效能非常差。如果想要優化到乙個比較好的效能,就需要硬體的背景了,本人從verilog過渡到HLS就比較自然,把HLS當成一種更加高層次的HDL會比較合適。如果一定想實現,Xilinx現在的PYNQ做的已經挺成熟的了,甚至一些比較普遍的NN...