0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在FPGA上優(yōu)化實(shí)現(xiàn)復(fù)數(shù)浮點(diǎn)計(jì)算

FPGA設(shè)計(jì)論壇 ? 來(lái)源:未知 ? 2023-06-10 10:15 ? 次閱讀

4e509fec-0733-11ee-962d-dac502259ad0.png

點(diǎn)擊上方藍(lán)字關(guān)注我們

高性能浮點(diǎn)處理一直與高性能CPU相關(guān)聯(lián)。在過(guò)去幾年中,GPU也成為功能強(qiáng)大的浮點(diǎn)處理平臺(tái),超越了圖形,稱為GP-GPU(通用圖形處理單元)。新創(chuàng)新是在苛刻的應(yīng)用中實(shí)現(xiàn)基于FPGA的浮點(diǎn)處理。本文的重點(diǎn)是FPGA及其浮點(diǎn)性能和設(shè)計(jì)流程,以及OpenCL的使用,這是高性能浮點(diǎn)計(jì)算前沿的編程語(yǔ)言。
各種處理平臺(tái)的GFLOP指標(biāo)在不斷提高,現(xiàn)在,TFLOP/s這一術(shù)語(yǔ)已經(jīng)使用的非常廣泛了。但是,在某些平臺(tái)上,峰值GFLOP/s,即,TFLOP/s表示的器件性能信息有限。它只表示了每秒能夠完成的理論浮點(diǎn)加法或者乘法總數(shù)。分析表明,F(xiàn)PGA單精度浮點(diǎn)處理能夠超過(guò)1 TFLOP/s。
一種不太復(fù)雜的常用算法是FFT。使用單精度浮點(diǎn)實(shí)現(xiàn)了4096點(diǎn)FFT。它能夠在每個(gè)時(shí)鐘周期輸入輸出四個(gè)復(fù)數(shù)采樣。每一個(gè)FFT內(nèi)核運(yùn)行速度超過(guò)80 GFLOP/s,大容量FPGA的資源支持實(shí)現(xiàn)7個(gè)這類的內(nèi)核。
但是,如圖1所示,這一FPGA的FFT算法GFLOP/s接近400 GFLOP/s。這是“按鍵式”O(jiān)penCL編譯結(jié)果,不需要FPGA知識(shí)。使用邏輯鎖定和DSE進(jìn)行優(yōu)化,7內(nèi)核設(shè)計(jì)接近單內(nèi)核設(shè)計(jì)的Fmax,將其GFLOP/s提升至500,超過(guò)了10 GFLOP/s每瓦。
這一每瓦GFLOP/s要比CPU或者GPU功效高很多。對(duì)比一下GPU,GPU在這些FFT長(zhǎng)度上效率并不高,因此,沒(méi)有進(jìn)行基準(zhǔn)測(cè)試。當(dāng)FFT長(zhǎng)度達(dá)到幾十萬(wàn)個(gè)點(diǎn)時(shí),GPU效率才比較高,能夠?yàn)镃PU提供有效的加速功能。

4e595e66-0733-11ee-962d-dac502259ad0.jpg

總之,實(shí)際的GFLOP/s一般只達(dá)到峰值或者理論GFLOP/s的一小部分。出于這一原因,更好的方法是采用算法來(lái)對(duì)比性能,這種算法能夠合理的表示典型應(yīng)用的特性。算法越復(fù)雜,典型實(shí)際應(yīng)用的基準(zhǔn)測(cè)試就越具有代表性。
并不是依靠供應(yīng)商的峰值GFLOP/s指標(biāo)來(lái)確定處理技術(shù),而是使用比較復(fù)雜具有代表性的第三方評(píng)估。高性能計(jì)算理想的算法是Cholesky分解。
這一算法經(jīng)常用于線性代數(shù),高效的解出多個(gè)方程,可以實(shí)現(xiàn)矩陣求逆功能。這一算法非常復(fù)雜,要獲得合理的結(jié)果總是要求浮點(diǎn)數(shù)值表示。計(jì)算需求與N3成正比,N是矩陣維度,因此,一般對(duì)處理要求很高。實(shí)際GFLOP/s取決于矩陣大小以及所要求的矩陣處理吞吐量。
表1顯示了基于Nvidia GPU指標(biāo)1.35TFLOP/s的基準(zhǔn)測(cè)試結(jié)果,使用了各種庫(kù),以及Xilinx Virtex6 XC6VSX475T,其密度達(dá)到475K LC,這種FPGA針對(duì)DSP處理進(jìn)行了優(yōu)化。用于Cholesky基準(zhǔn)測(cè)試時(shí),這些器件在密度上與
AlteraFPGA相似。

4e83e168-0733-11ee-962d-dac502259ad0.jpg
LAPACK和MAGMA是商用庫(kù),而GPU GFLOP/s是指采用田納西州大學(xué)開發(fā)的OpenCL實(shí)現(xiàn)的。對(duì)于小規(guī)模矩陣,后者更優(yōu)化一些。
中等規(guī)模的Altera Stratix V FPGA (460kLE)也進(jìn)行了基準(zhǔn)測(cè)試,使用了單精度浮點(diǎn)Cholesky算法。如表2所示,在Stratix V FPGA上進(jìn)行Cholesky算法的性能要比Xilinx結(jié)果高很多。

4eb3b88e-0733-11ee-962d-dac502259ad0.jpg


應(yīng)指出,矩陣大小并不相同。田納西州大學(xué)結(jié)果是從[512×512]矩陣大小開始的。BDTI基準(zhǔn)測(cè)試達(dá)到了[360×360]矩陣大小。原因是,矩陣規(guī)模較小時(shí),GPU效率非常低,因此,在這些應(yīng)用中,不應(yīng)該使用它們來(lái)加速CPU。在規(guī)模較小的矩陣時(shí),F(xiàn)PGA的工作效率非常高。
其次,BDTI基準(zhǔn)測(cè)試是基于每個(gè)Cholesky內(nèi)核的。每個(gè)可參數(shù)賦值的Cholesky內(nèi)核支持選擇矩陣大小,矢量大小和通道數(shù)量。矢量大小大致決定了FPGA資源。較大的[360×360]矩陣使用了較長(zhǎng)的矢量,支持這一FPGA中實(shí)現(xiàn)一個(gè)內(nèi)核,達(dá)到91GFLOP/s。較小的[60×60]矩陣使用的資源更少,因此,可以實(shí)現(xiàn)兩個(gè)內(nèi)核,總共是2×39=78GFLOP/s。的[30×30]矩陣支持實(shí)現(xiàn)三個(gè)內(nèi)核,總共是3×26=78GFLOP/s。
FPGA看起來(lái)更適合解決數(shù)據(jù)規(guī)模較小的問(wèn)題。原因之一是因?yàn)橛?jì)算負(fù)載隨N3而增大,數(shù)據(jù)I/O隨N2增大,終,隨著數(shù)據(jù)的增加,GPU的I/O瓶頸不再是問(wèn)題。另一項(xiàng)考慮是吞吐量。隨著矩陣規(guī)模的增大,由于每個(gè)矩陣的處理量增大,矩陣每秒吞吐量會(huì)大幅度下降。在某些點(diǎn),吞吐量變得非常低,以至于無(wú)法滿足很多應(yīng)用的要求。在很多情況下,會(huì)分解大規(guī)模矩陣,處理每個(gè)小的子矩陣,以解決由于龐大的處理負(fù)載造成的吞吐量限制問(wèn)題。
對(duì)于FFT,計(jì)算負(fù)載增加N log2 N,而數(shù)據(jù)I/O隨N增大而增大。對(duì)于規(guī)模較大的數(shù)據(jù),GPU是高效的計(jì)算引擎。作為對(duì)比,數(shù)據(jù)長(zhǎng)度很短時(shí),F(xiàn)PGA是高效的計(jì)算引擎,更適合FFT長(zhǎng)度達(dá)到數(shù)千的很多應(yīng)用,對(duì)于GPU,F(xiàn)FT長(zhǎng)度是數(shù)十萬(wàn)。
GPU和FPGA設(shè)計(jì)方法
使用Nvidia的專用CUDA語(yǔ)言或者開放標(biāo)準(zhǔn)OpenCL語(yǔ)言對(duì)GPU進(jìn)行編程。這些語(yǔ)言在能力上非常相似,而的不同在于CUDA只能用在Nvidia GPU上。
FPGA通常使用HDL語(yǔ)言Verilog或者VHDL進(jìn)行編程。這些語(yǔ)言的版雖然采用了浮點(diǎn)數(shù)定義,不用進(jìn)行綜合,但都不太適合支持浮點(diǎn)設(shè)計(jì)。例如,在System Verilog中,短實(shí)數(shù)變量與IEEE單精度(浮點(diǎn))對(duì)應(yīng),實(shí)數(shù)變量與IEEE雙精度對(duì)應(yīng)。
使用傳統(tǒng)的方法,將浮點(diǎn)數(shù)據(jù)通路綜合到FPGA的效率非常低。Xilinx FPGA在Cholesky算法上的性能很低,它使用了Xilinx浮點(diǎn)內(nèi)核生成功能,這證實(shí)了這一點(diǎn)。而Altera采用了兩種不同的方法。種使用基于Mathworks的設(shè)計(jì)輸入,稱之為DSP Builder模塊庫(kù)。這一工具包含了對(duì)定點(diǎn)和浮點(diǎn)數(shù)的支持。它支持7種不同精度的浮點(diǎn),包括IEEE半精度、單精度和雙精度。它還支持矢量化,這是高效實(shí)現(xiàn)線性代數(shù)所需要的。而重要的是,它能夠?qū)⒏↑c(diǎn)電路高效的映射到目前的定點(diǎn)FPGA體系結(jié)構(gòu)中,如基準(zhǔn)測(cè)試所示,規(guī)模中等的28 nm FPGA,Cholesky算法接近了100GFLOP/s。作為對(duì)比,在不具有綜合能力的規(guī)模相似的Xilinx FPGA上,實(shí)現(xiàn)同樣的算法,使用密度相似的FPGA,性能只有20GFLOP/s。
GPU編程人員比較熟悉OpenCL。面向FPGA的OpenCL編譯意味著,面向AMD或者Nvidia GPU編寫的OpenCL代碼可以編譯到FPGA中。Altera的OpenCL編譯器支持GPU程序使用FPGA,不需要熟練的開發(fā)典型的FPGA設(shè)計(jì)。
使用支持FPGA的OpenCL,相對(duì)于GPU有幾個(gè)關(guān)鍵優(yōu)勢(shì)。首先,GPU的I/O是有限制的。所有輸入和輸出數(shù)據(jù)必須由主CPU通過(guò)PCI
接口進(jìn)行傳輸。結(jié)果延時(shí)會(huì)讓GPU處理引擎暫停,因此,降低了性能。
FPGA以各種寬帶I/O功能而。這些功能支持?jǐn)?shù)據(jù)通過(guò)千兆以太網(wǎng)和SRIO,或者直接從ADCDAC輸入輸出FPGA。Altera定義了OpenCL標(biāo)準(zhǔn)的供應(yīng)商專用擴(kuò)展,以支持流操作。
即使與I/O瓶頸無(wú)關(guān),F(xiàn)PGA的處理延時(shí)也要比GPU低很多。眾所周知,GPU必須有數(shù)千個(gè)線程才能高效的工作。這是由于
存儲(chǔ)器讀取很長(zhǎng)的延時(shí),以及GPU大量的處理內(nèi)核之間的延時(shí)。實(shí)際上,GPU必須有很多任務(wù)才能使得處理內(nèi)核不會(huì)暫停等待數(shù)據(jù),否則會(huì)導(dǎo)致任務(wù)很長(zhǎng)的延時(shí)。
而FPGA使用了“粗粒度并行”體系結(jié)構(gòu)。它建立了多個(gè)經(jīng)過(guò)優(yōu)化的并行數(shù)據(jù)通路,每一通路一般在每個(gè)時(shí)鐘周期輸出一個(gè)結(jié)果。數(shù)據(jù)通路的例化數(shù)取決于FPGA資源,但一般要比GPU內(nèi)核數(shù)少很多。但是,每一數(shù)據(jù)通路例化的吞吐量要比GPU內(nèi)核高得多。這一方法的主要優(yōu)勢(shì)是低延時(shí)。降低延時(shí)在很多應(yīng)用中都是關(guān)鍵的性能優(yōu)勢(shì)。
FPGA的另一優(yōu)勢(shì)是很低的功耗,極大的降低了每瓦GFLOP/s。正如BDTI所測(cè)量的,Cholesky等復(fù)數(shù)浮點(diǎn)算法的每瓦GFLOP/s是每瓦5~6GFLOP/s。一般很難進(jìn)行GPU能效測(cè)量,但是,Cholesky的GPU性能達(dá)到50GFLOP/s,典型功耗是200W,得到的結(jié)果是0.25每瓦GFLOP/s,單位FLOP/s的功率高20倍。
OpenCL和DSP Builder都依靠“融合數(shù)據(jù)通路”這種技術(shù)(圖2),以這種技術(shù)實(shí)現(xiàn)浮點(diǎn)處理,能夠大幅度減少桶形移位電路,從而支持使用FPGA來(lái)開發(fā)大規(guī)模高性能浮點(diǎn)設(shè)計(jì)。

4ecbad04-0733-11ee-962d-dac502259ad0.jpg
為降低桶形移位頻率,綜合過(guò)程盡可能使用較大的尾數(shù)寬度,從而不需要頻率歸一化和去歸一化。27×27和36×36硬核乘法器支持比單精度實(shí)現(xiàn)所要求的23位更大的乘法計(jì)算,54×54和72×72結(jié)構(gòu)的乘法器支持比52位更大的計(jì)算,這通常是雙精度實(shí)現(xiàn)所要求的。FPGA邏輯已經(jīng)針對(duì)大規(guī)模定點(diǎn)加法器電路進(jìn)行了優(yōu)化,包括了內(nèi)置進(jìn)位超前電路。
當(dāng)需要進(jìn)行歸一化和去歸一化時(shí),另一種可以避免低性能和過(guò)度布線的方法是使用乘法器。對(duì)于一個(gè)24位單精度尾數(shù)(包括符號(hào)位),24×24乘法器通過(guò)乘以2n對(duì)輸入移位。27×27和36×36硬核乘法器支持單精度擴(kuò)展尾數(shù),可以用于構(gòu)建雙精度乘法器。
在很多線性代數(shù)算法中,矢量點(diǎn)乘(圖3)是占用大量FLOP/s的底層運(yùn)算。單精度實(shí)現(xiàn)長(zhǎng)度是64的長(zhǎng)矢量點(diǎn)乘需要64個(gè)浮點(diǎn)乘法器,以及隨后由63個(gè)浮點(diǎn)加法器構(gòu)成的加法樹。這類實(shí)現(xiàn)需要很多桶形移位電路。

4ef37bae-0733-11ee-962d-dac502259ad0.jpg


相反,可以對(duì)64個(gè)乘法器的輸出進(jìn)行去歸一化,成為公共指數(shù),是64位指數(shù)??梢允褂枚c(diǎn)加法器電路對(duì)這些64路輸出求和,在加法樹的進(jìn)行終的歸一化。如圖3所示,這一本地模塊浮點(diǎn)處理過(guò)程省掉了每一加法器所需要的臨時(shí)歸一化和去歸一化。即使是IEEE754浮點(diǎn),指數(shù)基本決定了終的指數(shù),因此,這種改變只是在計(jì)算早期進(jìn)行指數(shù)調(diào)整。
但是,進(jìn)行信號(hào)處理時(shí),在計(jì)算盡可能以高精度來(lái)截?cái)嘟Y(jié)果才能獲得結(jié)果。這種方法進(jìn)位額外的尾數(shù),補(bǔ)償了單精度浮點(diǎn)處理所需要的早期去歸一化次優(yōu)方法,一般從27位到36位。采用浮點(diǎn)乘法器進(jìn)行尾數(shù)擴(kuò)展,因此,在每一步不需要對(duì)乘積進(jìn)行歸一化。
注意,這一方法每個(gè)時(shí)鐘周期也會(huì)產(chǎn)生一個(gè)結(jié)果。GPU體系結(jié)構(gòu)可以并行產(chǎn)生所有浮點(diǎn)乘法,但是不能高效的并行進(jìn)行加法。之所以這樣是因?yàn)椴煌膬?nèi)核必須通過(guò)本地存儲(chǔ)器傳輸數(shù)據(jù),彼此實(shí)現(xiàn)通信,因此,不能靈活的連接FPGA體系結(jié)構(gòu)。
這一方法產(chǎn)生的結(jié)果要比傳統(tǒng)IEEE754浮點(diǎn)結(jié)果得多,如表3的測(cè)量結(jié)果所示。BDTI的基準(zhǔn)測(cè)試獲得了相似的結(jié)果。

4f16de3c-0733-11ee-962d-dac502259ad0.jpg


使用Cholesky分解算法,實(shí)現(xiàn)大規(guī)模矩陣求逆,獲得了表3的結(jié)果。以三種不同的方法實(shí)現(xiàn)了相同的算法——在Matlab/Simulink中,使用了IEEE754單精度浮點(diǎn),在RTL單精度浮點(diǎn)處理中,使用融合數(shù)據(jù)通路方法,在Matlab中也使用了雙精度浮點(diǎn)。雙精度實(shí)現(xiàn)要比單精度實(shí)現(xiàn)精度高十億倍(109)。
表3對(duì)比了Matlab單精度;RTL單精度和Matlab雙精度存在誤差,確認(rèn)了融合數(shù)據(jù)通路方法的完整性。采用了這一方法來(lái)獲得輸出矩陣中所有復(fù)數(shù)元素的歸一化誤差以及矩陣元素的誤差。使用Frobenius范數(shù)計(jì)算了總誤差和范數(shù):

4f5407c6-0733-11ee-962d-dac502259ad0.jpg


請(qǐng)注意,由于范數(shù)包括了所有元素的誤差,因此,它要比每一誤差大很多。
而且,DSP Builder模塊庫(kù)和OpenCL工具流程都針對(duì)下一代FPGA體系結(jié)構(gòu),支持并優(yōu)化目前的設(shè)計(jì)。由于體系結(jié)構(gòu)創(chuàng)新和工藝技術(shù)創(chuàng)新,性能可以達(dá)到100峰值GFLOPs/W。
總結(jié)
高性能計(jì)算應(yīng)用現(xiàn)在有新的處理平臺(tái)選擇。對(duì)于特殊類型的浮點(diǎn)算法,F(xiàn)PGA能夠提供低延時(shí)和較高的GFLOP/s。在幾乎所有應(yīng)用中,F(xiàn)PGA都能夠?qū)崿F(xiàn)優(yōu)異的每瓦GFLOP/s。隨著下一代高性能計(jì)算優(yōu)化FPGA的推出,這種優(yōu)勢(shì)會(huì)更明顯。
Altera的OpenCL編譯器為GPU編程人員提供了幾乎無(wú)縫的方法來(lái)評(píng)估這一新處理體系結(jié)構(gòu)的指標(biāo)。Altera OpenCL符合1.2規(guī)范,提供全面的數(shù)據(jù)庫(kù)支持。它解決了傳統(tǒng)FPGA遇到的時(shí)序收斂、DDR存儲(chǔ)器管理以及PCIe主
處理器接口等難題。
對(duì)于非GPU開發(fā)人員,Altera提供DSP Builder模塊庫(kù)工具流程,支持開發(fā)人員開發(fā)高Fmax定點(diǎn)或者浮點(diǎn)DSP設(shè)計(jì),同時(shí)保持了基于Mathworks的仿真和開發(fā)環(huán)境的優(yōu)點(diǎn)。要求高效能工作流程的FPGA開發(fā)人員多年以來(lái)一直使用這一產(chǎn)品,與經(jīng)驗(yàn)豐富的FPGA開發(fā)人員相比,所實(shí)現(xiàn)的Fmax性能相同。

4f756010-0733-11ee-962d-dac502259ad0.png

有你想看的精彩 基于FPGA的USB3.0 HUB設(shè)計(jì)方案基于FPGA的DDR3多端口讀寫存儲(chǔ)管理系統(tǒng)設(shè)計(jì)基于FPGA的無(wú)線通信安全協(xié)議

4f88b57a-0733-11ee-962d-dac502259ad0.jpg

掃碼加微信邀請(qǐng)您加入FPGA學(xué)習(xí)交流群

4f978b54-0733-11ee-962d-dac502259ad0.jpg4fb3e7ea-0733-11ee-962d-dac502259ad0.png

歡迎加入至芯科技FPGA微信學(xué)習(xí)交流群,這里有一群優(yōu)秀的FPGA工程師、學(xué)生、老師、這里FPGA技術(shù)交流學(xué)習(xí)氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!

點(diǎn)個(gè)在看你最好看


原文標(biāo)題:在FPGA上優(yōu)化實(shí)現(xiàn)復(fù)數(shù)浮點(diǎn)計(jì)算

文章出處:【微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21539

    瀏覽量

    600518

原文標(biāo)題:在FPGA上優(yōu)化實(shí)現(xiàn)復(fù)數(shù)浮點(diǎn)計(jì)算

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    優(yōu)化 FPGA HLS 設(shè)計(jì)

    減少錯(cuò)誤并更容易調(diào)試。然而,經(jīng)常出現(xiàn)的問(wèn)題是性能權(quán)衡。高度復(fù)雜的 FPGA 設(shè)計(jì)中實(shí)現(xiàn)高性能需要手動(dòng)優(yōu)化 RTL 代碼,而這對(duì)于HLS開發(fā)環(huán)境生成的 RTL 代碼來(lái)說(shuō)是不可能的。然而
    發(fā)表于 08-16 19:56

    談一談FPGA設(shè)計(jì)中的功率計(jì)算

    優(yōu)化編碼 優(yōu)化熱模型 依據(jù)設(shè)計(jì)中所用器件資源的全部數(shù)據(jù)、所有對(duì)建立熱模型至關(guān)重要的環(huán)境變量、以及設(shè)計(jì)過(guò)程中自由地使用和修改各點(diǎn)參數(shù),就可以可靠地實(shí)現(xiàn)
    發(fā)表于 07-31 22:37

    FPGA人工智能中的應(yīng)用有哪些?

    FPGA語(yǔ)音識(shí)別領(lǐng)域也有廣泛應(yīng)用。通過(guò)算法優(yōu)化和硬件自適應(yīng)能力,FPGA可以實(shí)現(xiàn)高效的語(yǔ)音信號(hào)處理和識(shí)別,提供低延時(shí)、高精度的語(yǔ)音識(shí)別系
    發(fā)表于 07-29 17:05

    FPGA集群實(shí)現(xiàn)高級(jí)并行編程

    今天我們看的這篇論文介紹了FPGA集群實(shí)現(xiàn)高級(jí)并行編程的研究,其主要目標(biāo)是為非FPGA專家提供一個(gè)成熟且易于使用的環(huán)境,以便在多個(gè)并行
    的頭像 發(fā)表于 07-24 14:54 ?941次閱讀

    如何在FPGA實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)

    隨著人工智能技術(shù)的飛速發(fā)展,神經(jīng)網(wǎng)絡(luò)作為其核心組成部分,已廣泛應(yīng)用于圖像識(shí)別、語(yǔ)音識(shí)別、自然語(yǔ)言處理等多個(gè)領(lǐng)域。然而,傳統(tǒng)基于CPU或GPU的神經(jīng)網(wǎng)絡(luò)計(jì)算方式實(shí)時(shí)性、能效比等方面存在諸多挑戰(zhàn)?,F(xiàn)場(chǎng)
    的頭像 發(fā)表于 07-10 17:01 ?1432次閱讀

    如何關(guān)閉ESP32-S3中的FPU浮點(diǎn)數(shù)計(jì)算單元?

    如何關(guān)閉ESP32-S3中的FPU浮點(diǎn)數(shù)計(jì)算單元。如題,之前的項(xiàng)目esp32s2 上面運(yùn)行良好,但是移植到esp32s3后由于fpu造成浮點(diǎn)
    發(fā)表于 06-27 07:32

    中高端FPGA如何選擇

    DDR4/5和GDDR6,目前的Virtex Ultrascale+的FPGA中,都沒(méi)有的。 4.專為AI優(yōu)化計(jì)算引擎
    發(fā)表于 04-24 15:09

    verilog語(yǔ)音實(shí)現(xiàn)浮點(diǎn)運(yùn)算

    Verilog可以通過(guò)使用IEEE標(biāo)準(zhǔn)的浮點(diǎn)數(shù)表示來(lái)實(shí)現(xiàn)浮點(diǎn)運(yùn)算。下面是一個(gè)基本的Verilog模塊示例,展示了如何進(jìn)行加法、乘法和除法等常見的浮點(diǎn)運(yùn)算操作: module
    發(fā)表于 03-25 21:49

    FPGAFPGA設(shè)計(jì)PCB的步驟詳解

    FPGA(Zynq? UltraScale+? MPSoC) 的 Ubuntu 22.04 桌面映像安裝了各種 EE 設(shè)計(jì)應(yīng)用程序(包括 KiCad),并用它設(shè)計(jì) PCB。
    的頭像 發(fā)表于 02-26 09:04 ?1810次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>FPGA</b><b class='flag-5'>上</b>為<b class='flag-5'>FPGA</b>設(shè)計(jì)PCB的步驟詳解

    XMC7100D進(jìn)行2維浮點(diǎn)fft運(yùn)算,如何優(yōu)化?

    1000次的時(shí)間是20秒。 IDE:MTB3.0 makefile 設(shè)置:COMPONENTS+= CMSIS_NN CMSIS_DSP VFP_SELECT=hardfp 主頻的不同對(duì)于浮點(diǎn)計(jì)算為何影響甚小,是否還有優(yōu)化的空
    發(fā)表于 02-02 07:53

    怎么用FPGA做算法 如何在FPGA實(shí)現(xiàn)最大公約數(shù)算法

    FPGA算法的優(yōu)點(diǎn)在于它們可以提供高度的定制化和靈活性,使得算法可以根據(jù)實(shí)際需求進(jìn)行優(yōu)化和調(diào)整。此外,FPGA還可以實(shí)現(xiàn)硬件加速,提供比傳統(tǒng)處理器更高的
    的頭像 發(fā)表于 01-15 16:03 ?1762次閱讀

    浮點(diǎn)LMS算法的FPGA實(shí)現(xiàn)

    運(yùn)算的運(yùn)算步驟遠(yuǎn)比定點(diǎn)運(yùn)算繁瑣,運(yùn)算速度慢且所需硬件資源大大增加,因此基于浮點(diǎn)運(yùn)算的LMS算法的硬件實(shí)現(xiàn)一直以來(lái)是學(xué)者們研究的難點(diǎn)和熱點(diǎn)。 本文正是基于這種高效結(jié)構(gòu)的多輸入FPA,FPGA
    的頭像 發(fā)表于 12-21 16:40 ?663次閱讀

    復(fù)數(shù)中iPython中如何定義

    復(fù)數(shù)中的虛數(shù)單位'i'Python中可以通過(guò)使用cmath模塊來(lái)定義和使用。cmath模塊提供了處理復(fù)數(shù)的函數(shù)和常量。 Python中,虛數(shù)單位'i'表示為1j。它是一個(gè)特殊的數(shù)值
    的頭像 發(fā)表于 11-22 09:40 ?2562次閱讀

    Python中如何表達(dá)復(fù)數(shù)

    Python中,可以使用complex類型來(lái)表示和操作復(fù)數(shù)。復(fù)數(shù)是由一個(gè)實(shí)部和一個(gè)虛部組成的數(shù),可以使用下列格式來(lái)表示:real + imag*j,其中real是實(shí)部,imag是虛部。
    的頭像 發(fā)表于 11-21 16:50 ?2002次閱讀

    基于FPGA與PCI總線的實(shí)時(shí)控制計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于FPGA與PCI總線的實(shí)時(shí)控制計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-25 11:04 ?0次下載
    基于<b class='flag-5'>FPGA</b>與PCI總線的實(shí)時(shí)控制<b class='flag-5'>計(jì)算</b>機(jī)的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>