在 AMD,我們對 Versal? ACAP 所搭載的 AI 引擎技術(shù)感到興奮不已,因為在 AMD 和賽靈思服務(wù)的眾多市場上,其對交付高性能自適應(yīng)計算起到重要作用。Versal AI Core 與 AI Edge 系列搭載了這種 AI 引擎技術(shù),非常適合對計算加速有著關(guān)鍵需求的用例。
AI 引擎真正實現(xiàn)了功能多用性,可提升機(jī)器學(xué)習(xí)( ML )和信號處理應(yīng)用帶來的性能。我們曾經(jīng)深入介紹過,與 GPU 相比,機(jī)器學(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)用,如激光雷達(dá)、光探測和測距,以及雷達(dá)、無線電探測和測距。激光雷達(dá)或雷達(dá)發(fā)射器會發(fā)射頻率隨時間而變化的正弦信號。信號從目標(biāo)反射,被接收器接收。通過分析接收到的波形的特征,就能計算出目標(biāo)的位置和相對速度。具體方法就是使用 FFT 查看反射信號的頻譜內(nèi)容。信號幅度與檢測到目標(biāo)的時間成正比,信號頻率則與距離目標(biāo)的遠(yuǎn)近成正比。通過這種從頻域到時域的轉(zhuǎn)換,一系列信號便能生成對某個特定位置有意義的表示,如 2D 或 3D 點云或 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 生成的點云或 4D 雷達(dá)可以回饋給 AI 引擎,以執(zhí)行 CNN ML 功能。Vitis? AI 已在我們的 Model Zoo 中提供模型,方便使用 PointPillars 實現(xiàn)邊框,進(jìn)行目標(biāo)檢測和/或用 SalsaNext 進(jìn)行語義分割。這樣做之所以可行,是因為運行 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è)計資源。