stillwater-sc/universal
Large collection of number systems providing custom arithmetic for mixed-precision algorithm development and optimization for AI, Machine Learning, Computer Vision, Signal Processing, CAE, EDA, control, optimization, estimation, and approximation.
解決的問題
Universal 是一個 C++ 模板庫,旨在以自訂的算術類型取代原生的整數和浮點數類型。這讓開發者能夠針對特定的精度和動態範圍需求優化演算法,這在嵌入式系統和深度學習應用中尤為重要,因為標準的 IEEE-754 浮點數可能過於龐大或效率低下。
工作原理
它提供了一個僅含標頭檔的插件式替代類型庫,可於參數化計算核心中使用。開發者不再使用 double 或 float,而是可以使用如半精度(half)、bfloat16 或固定點類型等專用格式。該庫包含針對不同架構(x86、ARM、RISC-V、GPU)缺乏通用硬體支援的格式的快速軟體實作。
適用對象
此庫適用於從事人工智慧(AI)、數位訊號處理(DSP)、高效能運算(HPC)和高頻交易(HFT)的開發者,他們需要試驗或實作混合精度演算法。
主要特色
- 多樣化的格式支援:支援四分之一精度、半精度和四倍精度,以及 NVIDIA 的 TensorFloat 和 Google 的 bfloat16。
- 自訂數值系統:包含靜態與彈性整數、小數、固定點、分數、線性浮點、漸變浮點、對數以及自適應精度類型的支援。
- 硬體無關性:為所有硬體均未原生支援的格式提供軟體實作。
- 低門檻整合:僅含標頭檔的設計,可透過模板參數化輕鬆整合至現有的 C++ 專案中。
相關
- 專案
- 專案
- 專案
- 專案
- 專案