ARM-software/CMSIS-DSP
CMSIS-DSP embedded compute library for Cortex-M and Cortex-A
解決的問題
CMSIS-DSP 提供一組高度優化之計算內核,專為 Arm Cortex-M 與 Cortex-A 處理器設計。透過利用 Helium 與 Neon 等硬體特定加速技術,在資源受限的硬體上實現複雜的數學與訊號處理運算,同時最大化效能,解決此類問題。
工作原理
該函式庫提供多種資料類型(f64、f32、f16、q31、q15、q7)的廣泛優化函數(內核)。當硬體擴充功能(如 Helium 或 Neon)可用時,會使用函數的向量化版本。
此外,還提供以下功能:
- DSP++:一個僅頭文件的 C++ API,允許開發者透過迴圈融合將內核組合成演算法,減少記憶體存取次數並避免暫時陣列。
- Autodiff Extension:基於 DSP++ 建構的實驗性功能,旨在使用函式庫部分內核在裝置上進行微調(fine-tuning)。
- Python Wrapper:一個與 NumPy 相容的包裝器,讓開發者可在 C 實作前使用 Python 設計與原型化演算法。
適用對象
需要在 Arm Cortex-M 或 Cortex-A 處理器上執行高效率數位訊號處理、線性代數或傳統機器學習的嵌入式軟體工程師與開發者。
主要亮點
- 硬體優化:針對 Helium 與 Neon 擴充功能提供專用支援,用於向量化運算。
- 廣泛的內核支援:包含基本數學、濾波、轉換(FFT、MFCC、DCT)、統計以及傳統機器學習(SVM、聚類)。
- 靈活的資料類型:支援從 64 位浮點數至 8 位固定點整數的多種精確度。
- 原型設計工作流程:包含 Python 包裝器,彌補演算法設計與 C 實作之間的差距。
相關
- 專案
- 專案
- 專案
- 專案