我们必须实现一个ASM程序来乘以坐标方案格式(COOS)和压缩行格式(CSR)中的稀疏矩阵。现在我们已经实现了所有这些算法,我们想知道与通常的矩阵乘法相比,它们的性能有多高。我们已经实现了代码来测量所有这些算法的运行时间,但现在我们决定还要知道我们可以执行多少次每秒的浮点运算(FLOPS)。有没有关于如何测量/计算这个的建议?
以下是所用系统的一些背景信息:
processor : 0
model name : ARMv7 Processor rev 2 (v7l)
Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2我们的第一个想法是现在实现一种FPO计数器,我们在每次浮点操作(算术操作以及比较和移动操作)后递增,但这意味着我们必须在代码中插入递增操作,这也会减慢应用程序...有没有人知道有没有某种硬件计数器来计算浮点运算的数量,或者有没有某种性能工具可以用来监控我们的程序并测量FPO的数量。如有任何建议或指示,我们将不胜感激。
下面是使用计数方法对矩阵乘法的FLOP进行评估。我们首先测量我们感兴趣的每条指令的运行时间,然后计算每秒浮点操作的数量。

发布于 2015-05-05 09:32:51
核心数x平均频率x每个周期的运算数
https://stackoverflow.com/questions/28142923
复制相似问题