libxsmm/libxsmm
Library for specialized dense and sparse matrix operations, and deep learning primitives.
解决的问题
LIBXSMM 是一个为小规模密集和稀疏线性代数运算设计的高性能库,特别针对深度学习和高性能计算(HPC)工作负载中常用的矩阵乘法(GEMM)和元素级原语。它解决了传统大规模库在小矩阵运算中效率不足的性能差距。
工作原理
该库使用即时(JIT)代码特化技术,为特定矩阵形状和数据类型生成优化内核,确保与编译器无关的性能。它是张量处理原语(TPP)的参考实现,为卷积、全连接层和池化等操作提供可移植的抽象。支持广泛的硬件架构,包括 Intel(SSE、AVX、AVX-512、AMX)、AArch64(NEON、SVE、SME)、RISC-V(RVV)和 PowerPC 64 位。
适用人群
适用于开发深度学习框架、HPC 应用程序,以及需要在多种 CPU 架构上实现高度优化且架构可移植的小矩阵运算的任何人。
主要亮点
- 广泛的硬件支持:支持 Intel、ARM、RISC-V 和 PowerPC 架构。
- 丰富的数据类型支持:支持从 FP64 到 int1 的多种精度,包括 bfloat16 和各种低精度格式。
- JIT 特化:使用 JIT 代码生成技术,针对特定问题规模优化性能,无需目标特定的构建标志。
- TPP 参考实现:作为张量处理原语的参考实现,支持更高层次深度学习算子的组合。
相关
- 项目
- 项目
- 项目
- 项目
- 项目