在 AMD,,我們對 Versal? ACAP 所搭載的 AI 引擎技術(shù)感到興奮不已,,因?yàn)樵?AMD 和賽靈思服務(wù)的眾多市場上,其對交付高性能自適應(yīng)計(jì)算起到重要作用。Versal AI Core 與 AI Edge 系列搭載了這種 AI 引擎技術(shù),,非常適合對計(jì)算加速有著關(guān)鍵需求的用例,。
AI 引擎真正實(shí)現(xiàn)了功能多用性,可提升機(jī)器學(xué)習(xí)( ML )和信號處理應(yīng)用帶來的性能。我們曾經(jīng)深入介紹過,,與 GPU 相比,機(jī)器學(xué)習(xí) AI 引擎( AIE-ML )的單位功耗 AI 性能是 GPU 的 4 倍,。不過今天,,我們的重點(diǎn)是信號處理,特別是快速傅里葉變換( FFT ),。
除非您是一名 DSP 專家,,否則您可能只會模糊地回憶起大學(xué)時期在信號處理入門課上學(xué)到的 FFT。幸運(yùn)的是,,您不必重拾書本,,就能在 AI 引擎上實(shí)現(xiàn) FFT,因?yàn)檐浖槟鉀Q最硬核的部分(后續(xù)詳解),。不過還是要記住,,F(xiàn)FT 是有史以來開發(fā)出的最重要的算法之一,支持著我們?nèi)粘J褂玫膸缀跛袌D像和音頻壓縮與數(shù)字通信,。
回到今天的話題,,讓我們回顧一下 FFT 如何運(yùn)用于各種應(yīng)用,如激光雷達(dá),、光探測和測距,,以及雷達(dá)、無線電探測和測距,。激光雷達(dá)或雷達(dá)發(fā)射器會發(fā)射頻率隨時間而變化的正弦信號,。信號從目標(biāo)反射,被接收器接收,。通過分析接收到的波形的特征,,就能計(jì)算出目標(biāo)的位置和相對速度。具體方法就是使用 FFT 查看反射信號的頻譜內(nèi)容,。信號幅度與檢測到目標(biāo)的時間成正比,,信號頻率則與距離目標(biāo)的遠(yuǎn)近成正比。通過這種從頻域到時域的轉(zhuǎn)換,,一系列信號便能生成對某個特定位置有意義的表示,如 2D 或 3D 點(diǎn)云或 4D 雷達(dá),,從而生成圖像,。對于汽車應(yīng)用,總 FFT 吞吐量相對較低——需要小于 1 GSPS,。對于特定的雷達(dá)或通信應(yīng)用,,可能需要高達(dá) 10-15 GSPS 的采樣率。
現(xiàn)在我們已經(jīng)了解了 FFT 的高級功能,,接下來我們將介紹如何借助 AI 引擎發(fā)揮 FFT 的優(yōu)勢,。
使用 FFT 生成的點(diǎn)云或 4D 雷達(dá)可以回饋給 AI 引擎,,以執(zhí)行 CNN ML 功能。Vitis? AI 已在我們的 Model Zoo 中提供模型,,方便使用 PointPillars 實(shí)現(xiàn)邊框,,進(jìn)行目標(biāo)檢測和/或用 SalsaNext 進(jìn)行語義分割。這樣做之所以可行,,是因?yàn)檫\(yùn)行 FFT 消耗的資源很少,,從而能夠留出大部分 AI 引擎,借助 ML 為您的應(yīng)用提速,。
從功耗的角度來看,,AI 引擎比使用可編程邏輯要有效得多。功耗降低了約 50%,,由此使得單位功耗性能提高了 2 倍,。
AI 引擎陣列架構(gòu)支持存儲器共享,從而提升了 FFT 的計(jì)算量,。通過下表可以看到,,計(jì)算 64 通道 2K x 1K 2D FFT 需要三個 Zynq? UltraScale+? MPSoC ZU3 器件。也可以只用單個 Versal AI Edge VE2102 器件,。
我們的 GitHub 站點(diǎn)提供了詳細(xì)的教程,,完整講解了在 VCK190 評估套件上實(shí)現(xiàn) 2D FFT 的過程。教程先概述了設(shè)計(jì)流程,,接著詳細(xì)講解了軟硬件實(shí)現(xiàn)方案,。簡化設(shè)計(jì)流程的關(guān)鍵在于 Vitis DSP 庫內(nèi)提供的 FFT 內(nèi)核。詳細(xì)的性能數(shù)據(jù)有助于用戶掌握每種設(shè)計(jì)變體的資源利用率,、時延,、吞吐量和功耗。此外,,也提供了在 Versal AI Edge 系列上實(shí)現(xiàn) FFT 所需的設(shè)計(jì)資源,。