cuSPARSELt:用于稀疏矩阵-矩阵乘法的高性能 CUDA 库#
NVIDIA cuSPARSELt 是一个高性能 CUDA 库,专门用于通用矩阵-矩阵运算,其中至少一个操作数是稀疏矩阵
其中 指的是诸如转置/非转置之类的原地操作,并且
是标量或向量。
cuSPARSELt API 允许在算法/操作选择、尾声和矩阵特性(包括内存布局、对齐方式和数据类型)方面具有灵活性。
下载: developer.nvidia.com/cusparselt/downloads
提供反馈: Math-Libs-Feedback@nvidia.com
示例: cuSPARSELt 示例 1, cuSPARSELt 示例 2
博客文章:
主要特性#
NVIDIA 稀疏 MMA tensor core 支持
混合精度计算支持
输入 A/B
输入 C
输出 D
计算
块缩放
支持 SM 架构
FP32
FP32
FP32
FP32
否
8.0, 8.6, 8.7
9.0, 10.0, 12.0
BF16
BF16
BF16
FP32
FP16
FP16
FP16
FP32
FP16
FP16
FP16
FP16
否
9.0
INT8
INT8
INT8
INT32
否
8.0, 8.6, 8.7
9.0, 10.0, 12.0
INT32
INT32
FP16
FP16
BF16
BF16
INT8
INT8
INT8
INT32
否
8.0, 8.6, 8.7
9.0, 10.0, 12.0
INT32
INT32
FP16
FP16
BF16
BF16
E4M3
FP16
E4M3
FP32
否
9.0, 10.0, 12.0
BF16
E4M3
FP16
FP16
BF16
BF16
FP32
FP32
E5M2
FP16
E5M2
FP32
否
9.0, 10.0, 12.0
BF16
E5M2
FP16
FP16
BF16
BF16
FP32
FP32
E4M3
FP16
E4M3
FP32
A/B/D_OUT_SCALE =
VEC64_UE8M0
D_SCALE =
32F
10.0, 12.0
BF16
E4M3
FP16
FP16
A/B_SCALE =
VEC64_UE8M0
BF16
BF16
FP32
FP32
E2M1
FP16
E2M1
FP32
A/B/D_SCALE =
VEC32_UE4M3
D_SCALE =
32F
10.0, 12.0
BF16
E2M1
FP16
FP16
A/B_SCALE =
VEC32_UE4M3
BF16
BF16
FP32
FP32
矩阵剪枝和压缩功能
激活函数、偏置向量和输出缩放
批量计算(单次运行中处理多个矩阵)
GEMM Split-K 模式
自动调优功能(参见 cusparseLtMatmulSearch())
NVTX 范围和日志记录功能
支持#
支持的 SM 架构:
SM 8.0
,SM 8.6
,SM 8.7
,SM 8.9
,SM 9.0
,SM 10.0
,SM 12.0
支持的 CPU 架构和操作系统:
操作系统 |
CPU 架构 |
---|---|
|
|
|
|