假设我有一个伪 C 程序:
For i=0 to 10
x++
a=2+x*5
next
30 FLOPS 的 FLOP 数量是 (1 [x++] + 1 [x*5] + 1 [2+(x+5))] * 10[loop] 吗?我很难理解什么是失败。
请注意,[...] 指示我从何处获取“操作”计数。
出于 FLOPS 测量的目的,通常仅包括加法和乘法。除法、倒数、平方根和超越函数之类的东西太昂贵而无法包含在单个操作中,而加载和存储之类的东西又太微不足道了。
换句话说,你的循环体包含 2 个加法和 1 个乘法,所以(假设x
是浮点数)每次循环迭代是 3 次操作;如果你运行循环 10 次,你就完成了 30 次操作。
请注意,测量 MIPS 时,您的循环将超过 3 条指令,因为它还包括 FLOPS 测量不计算在内的加载和存储。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)