Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
触发器Intel core并用C(innerproduct)进行测试_C_Matrix_Cpu - Fatal编程技术网

触发器Intel core并用C(innerproduct)进行测试

触发器Intel core并用C(innerproduct)进行测试,c,matrix,cpu,C,Matrix,Cpu,我对测量触发器有一些误解,在英特尔体系结构上,触发器是一个加法和一个乘法吗?我在网上的某个地方读到了这一点,没有任何辩论可以拒绝这一点。我知道FLOP在不同类型的cpu上有不同的含义 如何计算我的理论峰值失败?我使用的是Intel(R)Core(TM)2 Duo CPU E7400@2.80GHz。GHz和触发器之间的关系到底是什么?(即使是维基百科关于失败的条目也没有说明如何做到这一点) 我将使用以下方法来测量我的计算机的实际性能(以触发器的形式):两个向量的内积:对于大小为N的两个向量,是触

我对测量触发器有一些误解,在英特尔体系结构上,触发器是一个加法和一个乘法吗?我在网上的某个地方读到了这一点,没有任何辩论可以拒绝这一点。我知道FLOP在不同类型的cpu上有不同的含义

  • 如何计算我的理论峰值失败?我使用的是Intel(R)Core(TM)2 Duo CPU E7400@2.80GHz。GHz和触发器之间的关系到底是什么?(即使是维基百科关于失败的条目也没有说明如何做到这一点)

  • 我将使用以下方法来测量我的计算机的实际性能(以触发器的形式):两个向量的内积:对于大小为N的两个向量,是触发器的数量2n(N-1)(如果一个加法或一个乘法被认为是1个触发器)。如果没有,我应该如何计算呢

  • 我知道有更好的方法,但我想知道我提出的计算是否正确。我在某个地方读到过关于LINPACK作为基准的文章,但我仍然想知道它是如何做到的。

    展示了一些关于x86 CPU的浮点数字的理论。它目前只支持奔腾4,但也许你可以外推。

    A代表浮点运算

    在任何支持浮点运算的体系结构中,它的含义都是相同的,并且通常以在任何一秒钟内可以发生的操作数量来衡量(如在触发器中;每秒浮点运算)


    你可以找到工具来测量你的计算机的失败。

    英特尔的数据表包含GFLOPS数字,你的处理器拥有声称的22.4


    因为您的机器是双核的,这意味着在2.8 GHz的频率下,每核11.2千兆次。所以英特尔声称他们的内核每个周期可以进行4次浮点运算

    至于你的第二个问题,理论上的失败计算并不难。它可以大致分为:

    (核心数量)*(执行单元/核心数量)*(周期/秒)*(执行单元操作/周期)*(每个寄存器/执行单元操作的浮动)

    Core-2 Duo有两个内核,每个内核有一个执行单元。SSE寄存器的宽度为128位。浮点数是32位宽的,因此每个寄存器可以存储4个浮点数。我假设执行单元每个周期执行1次SSE操作。因此,它应该是:

    2*1*2.8*1*4=22.4千兆次

    哪些匹配:


    这个数字显然纯粹是理论上的最佳情况。由于各种原因,现实世界的表现很可能不会接近这一点。可能不值得尝试直接将触发器与实际应用程序运行时关联,最好尝试应用程序使用的计算。

    乘法和加法通常被称为MAC(乘法累加),是DSP经常使用的度量。这正是我需要的,非常感谢。顺便说一句,你从哪里找到这个方程的?Core2实际上可以在每个周期中发出SSE乘法和加法,因此单精度触发器的计算是2*1*2.8*2*4=44.8 GFLOPS;我相信Intel link列出的是双精度触发器(2*1*2.8*2*2=22.4)。