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