什么算作翻牌?

Jos*_*eld 7 architecture flops

假设我有一个伪程序的C程序:

For i=0 to 10
    x++
    a=2+x*5
next
Run Code Online (Sandbox Code Playgroud)

对于30 FLOPS,这个(1 [x ++] + 1 [x*5] + 1 [2+(x + 5))]*10 [循环]的FLOP数量是多少?我无法理解翻牌是什么.

请注意[...]表示我从中获取"操作"的计数.

Gab*_*abe 8

出于FLOPS测量的目的,通常仅包括加法和乘法.像分裂,倒数,平方根和超越函数这样的东西太昂贵而不能作为单一操作包含在内,而诸如装载和存储之类的东西太过微不足道了.

换句话说,你的循环体包含2个加法和1个乘法,所以(假设x是浮点)每个循环迭代是3个操作; 如果你运行循环10次你就完成了30次操作.

请注意,在测量MIPS时,您的循环将超过3条指令,因为它还包括FLOPS测量不计算的加载和存储.


Mar*_*ers 7

FLOPS代表每秒浮动操作.如果您正在处理整数,那么您的代码中没有任何浮点运算.

  • 似乎作者知道FLOPS的含义,并且只是询问定义中包含哪些操作. (6认同)