91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

如何去確定一個(gè)硬件加速器件?有哪些步驟?

電子工程師 ? 來源:XILINX開發(fā)者社區(qū) ? 作者:XILINX開發(fā)者社區(qū) ? 2021-06-11 13:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在開發(fā)一個(gè)加速程序的之前,有一個(gè)很重要的步驟:正確設(shè)計(jì)程序架構(gòu)。開發(fā)人員需要明確軟件應(yīng)用程序中哪一部分是需要硬件加速的,并且它多少的并行量,以保證硬件加速器件(FPGA)能完美發(fā)揮其作用。

本文將分為5個(gè)步驟來介紹:

1. 基準(zhǔn)和建立目標(biāo)

2. 確定加速部分

3. 確定FPGA硬件加速并行量

4. 確定軟件部分并行量

5. 微調(diào)架構(gòu)細(xì)節(jié)。

1.

基準(zhǔn)和建立目標(biāo)

首先要測(cè)試應(yīng)用程序的運(yùn)行時(shí)間和吞吐量,來確定當(dāng)前應(yīng)用程序在現(xiàn)有平臺(tái)的的基準(zhǔn)性能。這些數(shù)據(jù)應(yīng)涵蓋整個(gè)應(yīng)用程序(起始到結(jié)束)的性能和各個(gè)主要函數(shù)的性能。通常使用valgrind,callgrind和GNU gprof這些測(cè)試軟件來獲得應(yīng)用程序的性能數(shù)據(jù),它們會(huì)顯示應(yīng)用程序中所有的函數(shù)數(shù)量以及各個(gè)函數(shù)的執(zhí)行時(shí)間。通過這些數(shù)據(jù),我們可以找到耗時(shí)最長的部分,然后放到FPGA上進(jìn)行加速。

評(píng)估運(yùn)行時(shí)間

測(cè)試運(yùn)行時(shí)間是軟件開發(fā)的基本流程,可以使用一些常用的測(cè)試軟件,或者插入計(jì)時(shí)器和性能計(jì)數(shù)器來完成此項(xiàng)操作。以gprof為例,可以得到類似如下圖結(jié)果。

poYBAGDC8IKAElOKAABnNNLxSrI645.jpg

評(píng)估吞吐量

這里的吞吐量是指數(shù)據(jù)被處理的速率。對(duì)于計(jì)算給定函數(shù)的吞吐量,具體公式為函數(shù)處理的數(shù)據(jù)除以函數(shù)處理的時(shí)間,如下:

TSW= max (VINPUT, VOUTPUT) / Running Time

如果是處理固定的數(shù)據(jù)量,只要簡單的檢查代碼就能知道吞吐量的大小。但在一些情況下,數(shù)據(jù)是可變的,那么插入計(jì)數(shù)器來測(cè)量吞吐量的大小是比較實(shí)用的。

確定最大可實(shí)現(xiàn)的吞吐量

在大多數(shù)加速系統(tǒng)中,最大可實(shí)現(xiàn)吞吐量受PCIe總線的限制。PCIe總線受很多因素的影響,例如母板,驅(qū)動(dòng),目標(biāo)板卡和發(fā)送數(shù)據(jù)大小等等。運(yùn)行DMA測(cè)試能夠測(cè)試PCIe發(fā)送的有效吞吐量,從而確定加速性能潛力的上限。在安裝Alveo板卡后,我們可以使用xbutil dmatest命令來測(cè)試板卡的PCIe性能。

建立總體加速目標(biāo)

在開發(fā)過程中盡早確定加速目標(biāo)是非常有必要的,基于基準(zhǔn)性能的加速目標(biāo)會(huì)決定分析和決策的走向。加速目標(biāo)可以是硬性的也可以是軟性的。例如,實(shí)時(shí)視頻應(yīng)用程序有每秒處理60幀的嚴(yán)格硬性目標(biāo),而數(shù)據(jù)科學(xué)應(yīng)用程序的軟性目標(biāo)是比其他可代替實(shí)現(xiàn)方法快10倍。所以無論哪種方式,領(lǐng)域?qū)I(yè)知識(shí)對(duì)于設(shè)置可實(shí)現(xiàn)的加速目標(biāo)都很重要。

2.

確定加速部分

評(píng)估基準(zhǔn)性能后,下一步就是確定哪一個(gè)函數(shù)需要在FPGA上加速。當(dāng)選擇哪個(gè)函數(shù)用于加速時(shí),有兩個(gè)方面需要考慮到:

性能瓶頸:應(yīng)用程序中有哪些函數(shù)需要著重關(guān)注

加速潛力:這些函數(shù)是否有加速的潛力

確定性能瓶頸

在一個(gè)純粹的順序進(jìn)行的應(yīng)用程序中,可以通過解析報(bào)告很容易甄別到性能瓶頸。然而,大多數(shù)現(xiàn)實(shí)中的應(yīng)用程序都是多進(jìn)程,因此在尋找性能瓶頸的時(shí)候考慮并行性很重要。一個(gè)很簡單的例子:

pYYBAGDC8ImAU7X0AAA5a65CitE497.jpg

如上圖中是一個(gè)應(yīng)用程序中兩條并行的路徑,長度表示它們運(yùn)行消耗時(shí)間。從這里我們看出,僅僅加速A,B進(jìn)程的某一個(gè)并不能提高應(yīng)用程序的整體性能。即使你將A2加速100倍,該應(yīng)用程序的性能還是被A1和B進(jìn)程鉗制。所以考慮加速對(duì)象時(shí),要考慮整個(gè)應(yīng)用程序的性能,而不是單個(gè)函數(shù)的性能。

確定加速潛力

作為軟件程序中的瓶頸函數(shù)不一定具有加速的潛力,通常需要進(jìn)行詳細(xì)分析才能準(zhǔn)確判斷給定函數(shù)的實(shí)際加速潛力。但是,有時(shí)候一些簡單的指導(dǎo)方法也能確定一個(gè)函數(shù)是否有加速潛力:

1. 選擇運(yùn)算復(fù)雜度比較大的,相比于順序計(jì)算來說,它可以在FPGA上可以使用并行,流水線來提高效率。

2. 相對(duì)于輸入輸出來說的,選擇運(yùn)算強(qiáng)度比較大的,因?yàn)檫@樣數(shù)據(jù)搬移時(shí)間開銷占用整個(gè)加速時(shí)間比率來說會(huì)低一些。

3. 選擇那些能夠數(shù)據(jù)重用,對(duì)內(nèi)存訪問比較少的,因?yàn)檫@可以是數(shù)據(jù)更容易在加速器中緩存,減少對(duì)全局內(nèi)存的訪問。

4. 對(duì)比函數(shù)吞吐量和FPGA吞吐量的比值,以確定最大可加速的倍數(shù)。

3.

確定FPGA硬件加速并行量

在前面的步驟中確定哪個(gè)函數(shù)用于加速之后,接下來就要確定使用多少的并行量來達(dá)到這一目標(biāo)。內(nèi)核(kernel)的并行性可以分為大致兩種,一種是流水線形式,即是輸入和處理數(shù)據(jù)同時(shí)進(jìn)行;另一種是同時(shí)處理多個(gè)任務(wù),即是擁有多個(gè)輸入,多個(gè)任務(wù)并行處理。

評(píng)估硬件吞吐量(非并行)

沒有進(jìn)行并行化的內(nèi)核(kernel)吞吐量可以近似為:

THW = Frequency(頻率) / Computational Intensity(計(jì)算強(qiáng)度) = Frequency * max(VINPUT,VOUTPUT) / VOPS

頻率就是kernel的時(shí)鐘頻率。這個(gè)值是由特定的平臺(tái)決定,比如,Alveo U200的最大kernel時(shí)鐘是300Mhz。VINPUT,VOUTPUT是輸入輸出數(shù)據(jù),VOPS是操作總數(shù)。由此可以看出,大量的操作數(shù)和少量的數(shù)據(jù)的函數(shù)更適合加速。

確定所需的并行量

經(jīng)過上述計(jì)算后,可以估算出初始的HW/SW性能比:

Speed-up = THW/TSW = Fmax * Running Time /VOPS

沒有使用并行運(yùn)算,則初始的加速(speed-up)通常會(huì)小于1。

接下來就要計(jì)算多少并行量可以滿足性能目標(biāo):

Parallelism Needed = TGoal / THW = TGoal * Vops / (Fmax * max(VINPUT, VOUTPUT))

并行方式可以通過多種方式實(shí)現(xiàn):拓展數(shù)據(jù)路徑,使用多個(gè)計(jì)算引擎,使用多個(gè)kernel實(shí)例,開發(fā)人員應(yīng)根據(jù)他們的需求和應(yīng)用程序的特點(diǎn)確定最佳組合方式。

確定數(shù)據(jù)路徑應(yīng)并行處理多少個(gè)樣本

一種可能性是通過創(chuàng)建更寬的數(shù)據(jù)路徑(數(shù)據(jù)的輸入和輸出的過程)然后并行處理更多數(shù)據(jù)以便加快計(jì)算速度。有些算法很適合這種方法,而有些則不適用。重要的是要了解這個(gè)算法的本質(zhì),確定這種方法是否可運(yùn)用。如果可運(yùn)用,那么并行處理多少數(shù)據(jù)才能滿足性能目標(biāo)也是需要考慮的。

運(yùn)用更寬的數(shù)據(jù)路徑、并行處理更多數(shù)據(jù)這些方法,本質(zhì)是通過減少加速函數(shù)等待時(shí)間(運(yùn)行時(shí)間)來實(shí)現(xiàn)提高性能的。

確定在FPGA中可以(應(yīng)該)實(shí)例化多少個(gè)kernel

如果數(shù)據(jù)路徑無法并行化(或不夠充分),則請(qǐng)考慮添加更多kernel實(shí)例,這通常被稱為使用多個(gè)計(jì)算單元(CU)。添加更多的kernel實(shí)例的本質(zhì)是允許加速函數(shù)更多的調(diào)用,從而提高應(yīng)用程序的性能,如下所示。多個(gè)數(shù)據(jù)集由不同的實(shí)例并發(fā)處理。只要主機(jī)應(yīng)用程序可以保持kernel繁忙,應(yīng)用程序的性能就會(huì)隨著實(shí)例數(shù)的增加而線性增加。

poYBAGDC8JGANvUoAAA7U9pmGmA252.jpg

在Vitis中,很容易通過添加額外的kernel實(shí)例來提高加速性能,不需要過多的代碼調(diào)整。在這一點(diǎn)上,開發(fā)人員應(yīng)該充分了解硬件中滿足性能目標(biāo)所需的并行度,結(jié)合數(shù)據(jù)路徑寬度和kernel實(shí)例來達(dá)到預(yù)期的目標(biāo)。

4.

確定軟件部分并行量

雖然FPGA及其kernel旨在提供潛在的并行性,但是必須對(duì)軟件應(yīng)用程序進(jìn)行設(shè)計(jì)以便利用這種潛在的并行性。

軟件應(yīng)用程序中的并行性主要是以下幾方面:

?最大限度地減少空閑時(shí)間,并在kernel運(yùn)行時(shí)執(zhí)行其他任務(wù)。

?保持kernel處于活動(dòng)狀態(tài),以便盡早并經(jīng)常執(zhí)行新的計(jì)算。

?優(yōu)化與FPGA之間的數(shù)據(jù)傳輸。

pYYBAGDC8JeAI_dXAABjIH3YF_s423.jpg

如上圖所示,host程序總是處于繁忙狀態(tài)并且計(jì)劃執(zhí)行下一步的操作,而kernel端是處理當(dāng)前的任務(wù)。所以,host程序必須統(tǒng)籌與kernel的數(shù)據(jù)傳輸,并且向kernel端發(fā)送請(qǐng)求,不然再多的kernel也是沒有效果的。

在kernel運(yùn)行時(shí)最大程度地減少CPU空閑時(shí)間

FPGA加速是將某些計(jì)算從主機(jī)處理器轉(zhuǎn)移到FPGA的kernel中,在純順序模型中,應(yīng)用程序?qū)㈤e置地等待結(jié)果,準(zhǔn)備并回復(fù)處理。設(shè)計(jì)軟件應(yīng)用程序以避免此類空閑周期,首先是確定不依賴kernel結(jié)果的應(yīng)用程序部分,然后重新設(shè)計(jì),以便這些函數(shù)可以在主機(jī)處理器上與FPGA中運(yùn)行的kernel同時(shí)運(yùn)行處理。

保持kernel利用率

Kernel是在FPGA中的,僅在應(yīng)用程序請(qǐng)求它們時(shí)才運(yùn)行。為了最大程度地提高性能,應(yīng)使kernel一致處于繁忙(工作)狀態(tài)。從概念上講,這是通過在當(dāng)前請(qǐng)求完成之前發(fā)出下一個(gè)請(qǐng)求來實(shí)現(xiàn)的。這可以實(shí)現(xiàn)流水線式執(zhí)行和重復(fù)執(zhí)行,使kernel得到最佳利用。

poYBAGDC8J6AQiz8AACszziKrPg938.jpg

在上圖這個(gè)例子中,原始的應(yīng)用程序重復(fù)的調(diào)用 func1,func2和func3。針對(duì)這個(gè)應(yīng)用程序?qū)?yīng)創(chuàng)建了三個(gè)kernel是K1,K2和K3。最平庸的實(shí)現(xiàn)是將三個(gè)kernel按順序運(yùn)行,就像原始的應(yīng)用程序一樣。但是,這意味著每個(gè)kernel只有三分之一的時(shí)間處于工作狀態(tài)。更好的方法是重構(gòu)軟件應(yīng)用程序,以便它可以向kernel發(fā)出流水線請(qǐng)求。這允許K1在K2處理K1的輸出的同時(shí)開始處理新的數(shù)據(jù)集。通過這個(gè)方法,三個(gè)kernel以最大化的利用率不斷運(yùn)行。

優(yōu)化與FPGA之間的數(shù)據(jù)傳輸

在加速的應(yīng)用程序中,必須將數(shù)據(jù)從主機(jī)傳輸?shù)紽PGA,尤其是基于PCIe的應(yīng)用程序中。這就引入了延遲,對(duì)于應(yīng)用程序的整體性能而言,可能是非常昂貴的。數(shù)據(jù)需要在正確的時(shí)間被傳輸,如果kernel的運(yùn)行需要等待數(shù)據(jù),那么應(yīng)用程序的性能會(huì)收到負(fù)面影響。因此,重要的是在kernel需要數(shù)據(jù)時(shí)提前傳輸數(shù)據(jù)。這可以通過重復(fù)數(shù)據(jù)傳輸、kernel執(zhí)行來實(shí)現(xiàn),這可以隱藏?cái)?shù)據(jù)傳輸?shù)牡却龝r(shí)間開銷,并避免kernel等待數(shù)據(jù)的情況。

優(yōu)化數(shù)據(jù)傳輸?shù)牧硪环N方法是傳輸最佳大小的緩沖區(qū)。如下圖所示,有效的PCIe吞吐量根據(jù)傳輸?shù)木彌_區(qū)大小而有很大的差異。緩沖區(qū)越大,吞吐量越好,從而確保加速器始終具有可操作的數(shù)據(jù)而不會(huì)浪費(fèi)時(shí)間。通常來說,最好進(jìn)行1MB或更大的數(shù)據(jù)傳輸。預(yù)先運(yùn)行DMA測(cè)試對(duì)于找到最佳緩沖區(qū)大小可能很有用。同樣,在確定最佳緩沖區(qū)大小時(shí),請(qǐng)考慮大緩沖區(qū)對(duì)資源利用率和傳輸延遲的影響。

pYYBAGDC8KSAX-wmAAAlNhcZjcM019.jpg

Xilinx建議在一個(gè)公共緩沖區(qū)內(nèi)對(duì)多組數(shù)據(jù)進(jìn)行分組,以實(shí)現(xiàn)最大可能的吞吐量。

概念化應(yīng)用程序時(shí)間線

開發(fā)人員現(xiàn)在應(yīng)該對(duì)哪些函數(shù)需要加速,需要什么并行性才能達(dá)到性能目標(biāo)以及如何交付應(yīng)用程序有很好的了解。在這一點(diǎn)上,以應(yīng)用程序時(shí)間表的形式總結(jié)信息是非常有用的。應(yīng)用程序時(shí)間軸序列(例如“保持Kernels使用率”中所示的序列)是應(yīng)用程序在運(yùn)行時(shí)表現(xiàn)性能和并行化非常有效的方法。它們可以展示應(yīng)用程序如何調(diào)動(dòng)體系結(jié)構(gòu)中潛在的并行性。

poYBAGDC8K6ABZWCAAB9xnVhoFw129.jpg

Vitis軟件平臺(tái)會(huì)從實(shí)際應(yīng)用程序運(yùn)行中生成時(shí)間軸視圖。如果開發(fā)人員設(shè)計(jì)了預(yù)期的時(shí)間表,則可以將其與實(shí)際結(jié)果進(jìn)行比較,從而確定潛在的問題,然后迭代并收斂到最佳結(jié)果,如上圖所示。

5.

微調(diào)架構(gòu)細(xì)節(jié)

在正式編寫應(yīng)用程序及其kernel之前,還有最后一步:從頂層決策中細(xì)化和提煉次級(jí)體系架構(gòu)的細(xì)節(jié)。

確定最終kernel邊界

之前已經(jīng)有過討論,通過創(chuàng)建多個(gè)kernel的示例可以提高性能。然而,增加CU(compute unit)會(huì)對(duì)IO端口,帶寬和資源有額外地消耗。

在Vitis軟件平臺(tái)流程中,kernel端口的最大寬度為512,并且FPGA在資源方面也具有固定的成本,并不是無限消耗。重要的是,目標(biāo)平臺(tái)也對(duì)可使用的最大端口設(shè)置了限制。所以我們要注意這些限制,以最佳方式充分使用這些端口及其帶寬。

使用多個(gè)CU進(jìn)行擴(kuò)展的另一種方法是通過在內(nèi)核中添加多個(gè)引擎(engine)進(jìn)行擴(kuò)展。與添加更多CU的方式來提高性能一樣,此方法就是用在內(nèi)核中的不同engine同時(shí)處理多個(gè)數(shù)據(jù)集。

將多個(gè)engine放置在同一kernel中可充分利用kernel I / O端口的帶寬。如果數(shù)據(jù)路徑engine不需要端口的全部寬度,則在kernel中添加其他engine比在其中創(chuàng)建具有單個(gè)engine的多個(gè)CU效率更高。

在kernel中放置多個(gè)engine還可以減少端口數(shù)量和事務(wù)數(shù)量到需要仲裁的全局內(nèi)存中,從而提高了有效帶寬。另一方面,采用這種方法需要在開發(fā)kernel時(shí)考慮I / O多路復(fù)用行為,盡可能地減少全局內(nèi)存的訪問。這是開發(fā)人員需要做出的權(quán)衡。

確定kernel的位置和連接性

確定kernel邊界后,開發(fā)人員要明確實(shí)例kernel的數(shù)量和連接到全局內(nèi)存資源的端口數(shù)量。在這一點(diǎn)上,了解目標(biāo)平臺(tái)的功能以及哪些全局內(nèi)存資源可用很重要。例如,AlveoU200數(shù)據(jù)中心加速卡具有分布在三個(gè)超級(jí)邏輯區(qū)域(SLR)中的4 x 16 GB DDR4存儲(chǔ)區(qū)和3 x 128 KB的PLRAM存儲(chǔ)區(qū)。有關(guān)更多信息,請(qǐng)參閱《 Vitis Software Platform Release Notes》。

如果kernel是工廠,則全局內(nèi)存是貨物往返工廠的倉庫。SLR就像獨(dú)特的工業(yè)區(qū),可以在其中建立倉庫和工廠。雖然可以將貨物從一個(gè)區(qū)域的倉庫轉(zhuǎn)移到另一個(gè)區(qū)域的工廠,但這會(huì)增加延遲和復(fù)雜性。

使用多個(gè)DDR有助于平衡數(shù)據(jù)傳輸負(fù)載并提高性能。但是,這也會(huì)帶來成本,因?yàn)槊總€(gè)DDR控制器都會(huì)消耗FPGA資源。在決定如何將kernel端口連接到內(nèi)存庫時(shí),請(qǐng)均衡這些考慮因素。

在完善了這些架構(gòu)細(xì)節(jié)之后,開發(fā)人員就應(yīng)該已經(jīng)掌握kernel以及整個(gè)應(yīng)用程序所需的所有信息了。

責(zé)任編輯:lq6

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

    關(guān)注

    68

    文章

    20259

    瀏覽量

    252551
  • FPGA
    +關(guān)注

    關(guān)注

    1660

    文章

    22423

    瀏覽量

    636648
  • 主機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    1053

    瀏覽量

    36757

原文標(biāo)題:開發(fā)者分享 | 如何確定一個(gè)硬件加速應(yīng)用

文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    FPGA硬件加速卡設(shè)計(jì)原理圖:1-基于Xilinx XCKU115的半高PCIe x8 硬件加速卡 PCIe半高 XCKU115-3-FLVF1924-E芯片

    FPGA硬件加速, PCIe半高卡, XCKU115, 光纖采集卡, 信號(hào)計(jì)算板, 硬件加速
    的頭像 發(fā)表于 02-12 09:52 ?401次閱讀
    FPGA<b class='flag-5'>硬件加速</b>卡設(shè)計(jì)原理圖:1-基于Xilinx XCKU115的半高PCIe x8 <b class='flag-5'>硬件加速</b>卡 PCIe半高 XCKU115-3-FLVF1924-E芯片

    工業(yè)級(jí)-專業(yè)液晶圖形顯示加速器RA8889ML3N簡介+顯示方案選型參考表

    控制等高級(jí)顯示功能,通過硬件加速(如Alpha混合)來執(zhí)行這些操作,避免了由MCU軟件處理帶來的性能開銷。核心特性: 主控端接口:支持8080/6800異步并行接口和IIC、3/4-wire SPI串行
    發(fā)表于 11-14 16:03

    邊緣計(jì)算中的AI加速器類型與應(yīng)用

    人工智能正在推動(dòng)對(duì)更快速、更智能、更高效計(jì)算的需求。然而,隨著每秒產(chǎn)生海量數(shù)據(jù),將所有數(shù)據(jù)發(fā)送至云端處理已變得不切實(shí)際。這正是邊緣計(jì)算中AI加速器變得不可或缺的原因。這種專用硬件能夠直接在邊緣設(shè)備上
    的頭像 發(fā)表于 11-06 13:42 ?823次閱讀
    邊緣計(jì)算中的AI<b class='flag-5'>加速器</b>類型與應(yīng)用

    常用硬件加速的方法

    之前總結(jié)了些常用硬件加速方法 1)面積換速度:也就是串轉(zhuǎn)并運(yùn)算,可以多個(gè)模塊同時(shí)計(jì)算; 2)時(shí)間換空間:時(shí)序收斂下通過頻率提高性能,雖然面積可能稍微加大點(diǎn); 3)流水線操作:流水線以面積換性能,以
    發(fā)表于 10-29 06:20

    硬件協(xié)同技術(shù)分享 - 任務(wù)劃分 + 自定義指令集

    開發(fā)技術(shù)。分文將分享介紹硬件加速器與軟件結(jié)合的協(xié)同開發(fā)方式 軟硬件任務(wù)劃分 我們的硬件設(shè)計(jì)涉及到MFCC模塊。直接交由CPU的次指令的五級(jí)流水線處理在麥克風(fēng)數(shù)據(jù)取入上的資源耗費(fèi)
    發(fā)表于 10-28 08:03

    硬件加速模塊的時(shí)鐘設(shè)計(jì)

    硬件加速模塊需要四個(gè)時(shí)鐘,分別為clk_l , clk_r , clk_c , clk_n 。 clk_l : 整個(gè)硬件加速模塊為了最大化的節(jié)約時(shí)間成本而采用了類似處理器的流水線設(shè)計(jì),具體上將每
    發(fā)表于 10-23 07:28

    CICC2033神經(jīng)網(wǎng)絡(luò)部署相關(guān)操作

    在完成神經(jīng)網(wǎng)絡(luò)量化后,需要將神經(jīng)網(wǎng)絡(luò)部署到硬件加速器上。首先需要將所有權(quán)重?cái)?shù)據(jù)以及輸入數(shù)據(jù)導(dǎo)入到存儲(chǔ)器內(nèi)。 在仿真環(huán)境下,可將其存于個(gè)文件,并在 Verilog 代碼中通過 readmemh 函數(shù)
    發(fā)表于 10-20 08:00

    確定諧波檢測(cè)設(shè)備核心誤差要求的步驟哪些?

    確定諧波檢測(cè)設(shè)備核心誤差要求,需遵循 “ 從場景出發(fā)→抓核心指標(biāo)→錨定標(biāo)準(zhǔn)→適配實(shí)際→應(yīng)對(duì)環(huán)境 ” 的五步法,每步均有明確目標(biāo)與可操作動(dòng)作,最終輸出可量化、可落地的誤差指標(biāo)(如 THD 誤差
    的頭像 發(fā)表于 10-13 17:23 ?573次閱讀

    如何驗(yàn)證硬件加速是否真正提升了通信協(xié)議的安全性?

    驗(yàn)證硬件加速是否真正提升通信協(xié)議的安全性,需從 安全功能正確性、抗攻擊能力增強(qiáng)、安全性能適配、合規(guī)致性 等核心維度展開,結(jié)合實(shí)驗(yàn)室測(cè)試與真實(shí)場景驗(yàn)證,避免 “硬件參與即安全提升” 的表面判斷。以下
    的頭像 發(fā)表于 08-27 10:16 ?1164次閱讀
    如何驗(yàn)證<b class='flag-5'>硬件加速</b>是否真正提升了通信協(xié)議的安全性?

    哪些方法可以確保硬件加速與通信協(xié)議的兼容性?

    ? 確保硬件加速與通信協(xié)議的兼容性,核心是從 硬件選型、協(xié)議標(biāo)準(zhǔn)匹配、軟硬件接口適配、全場景測(cè)試驗(yàn)證 四個(gè)維度建立閉環(huán),避免因硬件功能缺失、
    的頭像 發(fā)表于 08-27 10:07 ?1107次閱讀

    如何利用硬件加速提升通信協(xié)議的安全性?

    特性增強(qiáng)安全性(而非僅依賴軟件防護(hù))。其本質(zhì)是 “將安全計(jì)算從通用 CPU 卸載到專用硬件”,既解決軟件處理安全操作的性能瓶頸,又規(guī)避軟件層可能存在的漏洞(如內(nèi)存泄露、側(cè)信道攻擊風(fēng)險(xiǎn))。 、硬件加速提升通信協(xié)議安全性
    的頭像 發(fā)表于 08-27 09:59 ?1003次閱讀
    如何利用<b class='flag-5'>硬件加速</b>提升通信協(xié)議的安全性?

    大模型推理顯存和計(jì)算量估計(jì)方法研究

    ,如乘法、加法等; (2)根據(jù)各層計(jì)算操作的類型和復(fù)雜度,確定每層所需的計(jì)算量; (3)將各層計(jì)算量相加,得到模型總的計(jì)算量。 基于硬件加速的算力估計(jì) 隨著硬件加速技術(shù)的發(fā)展,許多深度學(xué)習(xí)框架支持
    發(fā)表于 07-03 19:43

    粒子加速器?——?科技前沿的核心裝置

    粒子加速器全稱“荷電粒子加速器”,是種利用電磁場在高真空環(huán)境中對(duì)帶電粒子(如電子、質(zhì)子、離子)進(jìn)行加速和控制,使其獲得高能量的特種裝置。粒子加速器
    的頭像 發(fā)表于 06-19 12:05 ?3642次閱讀
    粒子<b class='flag-5'>加速器</b>?——?科技前沿的核心裝置

    TPU處理器的特性和工作原理

    張量處理單元(TPU,Tensor Processing Unit)是種專門為深度學(xué)習(xí)應(yīng)用設(shè)計(jì)的硬件加速器。它的開發(fā)源于對(duì)人工智能(AI)和機(jī)器學(xué)習(xí)應(yīng)用的需求,尤其是深度學(xué)習(xí)中的神經(jīng)網(wǎng)絡(luò)計(jì)算。
    的頭像 發(fā)表于 04-22 09:41 ?4401次閱讀
    TPU處理器的特性和工作原理

    小型加速器中子源監(jiān)測(cè)系統(tǒng)解決方案

    小型加速器中子源是種基于先進(jìn)加速器技術(shù)的中子產(chǎn)生裝置,憑借體積小、成本低、安全性高的優(yōu)勢(shì),在醫(yī)學(xué)、工業(yè)、科研、安全、能源等多個(gè)領(lǐng)域展現(xiàn)出巨大的應(yīng)用潛力和價(jià)值。無論是用于醫(yī)學(xué)領(lǐng)域的精準(zhǔn)放療,還是工業(yè)
    的頭像 發(fā)表于 03-13 11:19 ?1413次閱讀
    小型<b class='flag-5'>加速器</b>中子源監(jiān)測(cè)系統(tǒng)解決方案