gpt4 book ai didi

cuda - 如何测量矩阵乘法内核的 gflops?

转载 作者:行者123 更新时间:2023-12-04 14:33:44 27 4
gpt4 key购买 nike

书中Programming Massively Parallel Processors gflops 的数量用于比较不同矩阵乘法内核的效率。我将如何在我自己的机器上为我自己的内核计算这个?

在 NVIDIA 论坛的某个地方,我发现了这个“算法”,但我不知道它的有效性如何或两个时间的来源。

NumOps = 2 * pow(MatrixSize,3)
gflops = 1.0e-9 * NumOps / ExecutionTime

附言请随意更改标签...

最佳答案

您可以通过使用大量输入运行算法并测量执行时间来测量 GFLOP。然后将执行时间和矩阵大小放入该公式中。对于足够大以保持整个机器忙碌的矩阵大小,FLOPs 仅微弱地依赖于矩阵大小。

GPU 矩阵乘法算法执行与朴素算法相同数量的浮点运算。

for (i = 0; i < MatrixSize; i++)
for (j = 0; j < MatrixSize; j++)
for (k = 0; k < MatrixSize; k++)
C[j][i] += A[j][k] * B[k][i];

循环体中有2个浮点运算, MatrixSize * MatrixSize * MatrixSize循环体的迭代,它为您提供了 NumOps 的公式。 GFLOPs 只是每秒操作数除以 10^9 ('giga')。

关于cuda - 如何测量矩阵乘法内核的 gflops?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6873037/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com