FlagSparse 概览#
FlagSparse 是 FlagOS 的组成部分。FlagSparse 是一个面向多芯片后端的稀疏矩阵运算库,定义了 SpMV、SpMM、SpGEMM、SDDMM 等核心稀疏操作,支持科学计算、工程仿真、机器学习和人工智能等领域的高性能计算。
FlagSparse 是使用 OpenAI 推出的 Triton 编程语言 实现的高性能稀疏算子库。
算子#
完整的算子注册表维护在 FlagSparse conf/operators.yaml。
算子 |
描述 |
格式 |
|---|---|---|
Gather |
按索引从稠密张量中收集值 |
– |
Scatter |
按索引将值散布到稠密张量中 |
– |
SpMV |
稀疏矩阵-向量乘法 |
CSR、COO、COO-to-CSR |
SpMM |
稀疏矩阵-稠密矩阵乘法 |
CSR、COO、CSR-opt、CSR-opt-alg1、CSR-opt-alg2、AlphaSparse-alg1 |
SpGEMM |
稀疏矩阵-稀疏矩阵乘法 |
CSR |
SDDMM |
采样稠密-稠密矩阵乘法 |
CSR |
SpSV |
稀疏三角求解(向量) |
CSR、COO |
SpSM |
稀疏三角求解(矩阵) |
CSR、COO |
稀疏格式构造函数#
create_csr_matrix、create_coo_matrix、create_csc_matrix、create_bsr_matrix、create_sell_matrix、create_blocked_ell_matrix、coo_to_csr、coo_to_csc、coo_to_bsr、coo_to_sell、coo_to_blocked_ell、generate_random_sparse_matrix、read_mtx_file
稀疏格式#
CSR(压缩稀疏行)—— 面向行稀疏操作的标准格式。
COO(坐标格式)—— (行, 列, 值) 三元组。
架构#
src/flagsparse/—— 核心包。tests/—— Pytest 精度测试和基准测试。benchmark/—— 性能基准测试。