giaf/blasfeo
Basic linear algebra subroutines for embedded optimization
解决的问题
BLASFEO 提供针对可放入处理器缓存中的小型矩阵特别优化的高性能基础线性代数例程。这解决了在处理嵌入式优化应用中常见的矩阵时,标准 BLAS 库通常存在的性能开销问题。
工作原理
该库提供两种不同的 API:一种是为兼容性设计的标准 BLAS API,另一种是专为减少小规模操作开销而设计的专用 BLASFEO API。它采用自定义的“面板主序”矩阵格式以提高缓存效率,并针对多种 x86 和 ARM 架构提供目标定制的汇编实现。用户可根据需求选择高性能、参考或外部包装实现。
适用人群
专为需要在各种硬件目标(包括 Intel、AMD 和 ARM(Apple M1、Cortex 系列))上对小型矩阵进行快速线性代数运算的嵌入式优化应用开发者设计。
主要亮点
- 缓存优化:专为每维通常不超过几百的小型矩阵进行调优。
- 广泛硬件支持:针对 AVX-512、AVX2、SSE 和 ARM NEON 等多种架构进行了优化。
- 灵活格式:支持标准列主序格式以及一种专有的面板主序格式以提升速度。
- 非破坏性 API:BLASFEO API 包含额外的输出参数,防止输入数据被修改。
相关
- 项目
- 项目
- 项目
- 项目