You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询Trsm与Gemm的时间复杂度及FLOPs计算(基于cuBlas)

cuBLAS TRSM 精确FLOPs计算

TRSM(三角矩阵求解)是cuBLAS中用于求解三角线性方程组的操作,其精确FLOPs需根据操作模式、三角矩阵类型(单位/非单位对角、上/下三角)区分计算,以下是针对不同场景的精确计数(与GEMM的计数逻辑一致,包含alpha缩放的浮点操作):

核心定义

TRSM的两种核心形式:

  • 左侧模式:op(A) * X = alpha * B(A为n×n三角矩阵,B为n×m矩阵,X与B同维度)
  • 右侧模式:X * op(A) = alpha * B(A为n×n三角矩阵,B为m×n矩阵,X与B同维度)
    op(A)表示A、A转置或A共轭转置,转置/共轭转置不改变FLOPs计数。

左侧模式(op(A)*X = alpha*B)

非单位对角三角矩阵(上/下三角)

  • 若alpha≠1:先对B做缩放,共m*n次浮点乘法
  • 求解方程组阶段:每个X元素包含除法、乘法、减法操作,总运算数为m*n²次
  • 总FLOPs(alpha≠1):m*n(n+1)
  • 总FLOPs(alpha=1):m*n²

单位对角三角矩阵(上/下三角)

  • 若alpha≠1:先对B做缩放,共m*n次浮点乘法
  • 求解方程组阶段:无除法操作,每个元素仅包含乘法和减法,总运算数为m*n(n-1)次
  • 总FLOPs(alpha≠1):m*n²
  • 总FLOPs(alpha=1):m*n(n-1)

右侧模式(X*op(A) = alpha*B)

非单位对角三角矩阵(上/下三角)

  • 若alpha≠1:先对B做缩放,共m*n次浮点乘法
  • 求解方程组阶段:总运算数为m²*n次
  • 总FLOPs(alpha≠1):m*n(m+1)
  • 总FLOPs(alpha=1):m²*n

单位对角三角矩阵(上/下三角)

  • 若alpha≠1:先对B做缩放,共m*n次浮点乘法
  • 求解方程组阶段:总运算数为m*n(m-1)次
  • 总FLOPs(alpha≠1):m²*n
  • 总FLOPs(alpha=1):m*n(m-1)

备注

以上为理论精确FLOPs,cuBLAS的优化实现可能存在少量操作差异,但该计数足以满足Roofline模型的性能评估需求。

内容的提问来源于stack exchange,提问作者TherLF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 00:15:36