一種基於CPU/GPU異構平臺的FIR濾波並行實現方法與流程
2023-10-10 15:41:49 2
本發明涉及一種基於CPU/GPU異構平臺的FIR濾波並行實現方法,屬於數字通信領域。
背景技術:
FIR數字濾波器具有精確的線性相位,可以做成任意頻率特性的濾波器,設計方法適應性強,實現起來結構簡單,不存在穩定性問題。因此FIR濾波器被廣泛應用於數字通信系統中的信號重建、相位均衡、自適應處理、圖像處理和隨機濾波等領域中。FIR濾波運算主要由移位寄存器、乘法器和加法器來完成。當採用大規模可編程邏輯器件(FPGA)作為FIR數字濾波器的實現載體時,由於FPGA器件的資源有限,因而直接採用乘加電路實現的FIR濾波器的最大階數是一定的,且計算速度低、佔用資源較多,無法滿足實時處理要求的缺點。
技術實現要素:
本發明解決的技術問題是:克服目前軟體實現FIR濾波計算速度低、佔用資源較多的不足,提供一種基於CPU/GPU異構平臺的FIR濾波並行實現方法,提高了計算效率,減少了大數量濾波的運行時間,實現實時濾波的效果。本發明的技術解決方案:提供了一種基於CPU/GPU異構平臺的FIR濾波並行實現方法。充分利用CPU/GPU並行處理的優勢,通過將FIR濾波計算密集的部分交由GPU計算,剩餘部分仍由CPU負責計算,提高計算效率。在GPU計算FIR濾波時結合GPU共享內存讀取數據的優勢實現大數量的高速濾波。具體步驟如下:(1)將CPU內存待濾波的音頻/視頻數據拷貝至圖形處理器GPU顯存中;(2)根據步驟(1)待濾波的音頻/視頻數據量和GPU共享內存大小合理布局GPUkernel函數的網格結構;(3)步驟(2)網格結構中所有線程Thread運行GPUkernel函數,通過多個Thread並行地將步驟(1)中待濾波數據從GPU顯存讀取到GPU共享內存;(4)每個Thread在步驟(3)共享內存上依據線性相位FIR直接型結構計算FIR濾波器的濾波結果。一個Thread計算一個濾波結果,所有Thread並行計算;(5)將步驟(4)中所有Thread計算出的FIR濾波結果從GPU顯存拷貝至CP...