关于profiler中几点疑问

在利用profiler测1024x1024矩阵乘法时,我观测了四个测量值分别是”Flops(Double FMA)(Double- precision floating point multiply accumulate operations executed)“:1074790400,
“Flops(Double)(Double-precision floating point operations executed”:2149580800,
“Flops(Double Add)(Double-precision floating point add operations )”:0,
“Flops(Double Mul)(Double-precision floating point multiply operations”:0;
理论计算1024x1024矩阵乘法乘加运算:2x1024x1024x1024=2.147484e9;
这里的Flops指的是统计指令次数。
由以上知道GPU计算的时候这里的乘法和加法应该没有完全组合成乘加,那么它又是怎样完成没有组合成乘加的计算操作呢(这里的乘法操作为0,加法操作为0)?
还有这里的Flops(Double)包括哪些双精度浮点操作呢(它多于FMA,而FAdd,FMul为0)?

楼主您好,

无公开此方面的信息。

但是一般的,DP的FLOAT指令应该算上FMA + FADD + FMUL + 比较大小 + 绝对值 + 其他操作等等。还是有很多的。

你说呢。

感谢来访。

嗯嗯,谢谢版主。

GPU计算的时候这里的乘法和加法应该没有完全组合成乘加,那么它又是怎样完成没有组合成乘加的计算操作呢(这里的乘法操作为0,加法操作为0)?这个官方也没有公开吗?

LZ您好:

您这里的统计结果表明:

1:这里的双精度乘法和加法都组合成了乘加(FMA)
2:一次FMA算两个floating point operation
3:您的统计的floating point operation数量和您的理论估算数量基本一致

我之前在某帖中说“矩阵乘法中的乘法好加法可能不能完全组合成FMA”当时是基于个人的判断,但是实际上cublas做的更好,全部组合了,请以实际情况为准。

祝您好运~

谢谢ice:)

不客气的,欢迎您常来~