POPPUR爱换

标题: 核心的浮点运算能力如何计算? [打印本页]

作者: 跳海自殺的鱼    时间: 2009-5-22 21:14
标题: 核心的浮点运算能力如何计算?
看某杂志,R770的浮点运算能力是核心频率*160*10Flop,这个ALU是4D+1D矢量单元

咋算的?还有G80 的1D ALU 每周期可以运算3
Flop,这又如何计算?
作者: eva00    时间: 2009-5-23 10:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: Edison    时间: 2009-5-23 11:42
flop 不是指令数,而是指浮点运算数。

例如一条 FMADD 指令,可以看成是 a=a+b*c,这里有两个运算符,因此这条指令算是 2 flops。

GT200 的 SP 可以实现 dual-issue,在特定情况下可以实现单周期执行 1 条 FMADD 指令和一条 MUL 指令,MUL 是乘法指令即 a=a*b,这算一个运算符。MADD 加上 MUL,就是 3 flops。

G80 的 dual-issue 能力实际上只有 2 flops+0.25 flops 的水平,因为 SFU 是按照 4 SP : 1 SFU 的方式配置。

GT200 的双精度运算能力是基于 MAD 指令峰值 1/8,大约是 80GFLOPS。

目前 CPU 的双精度运算能力绝大部分是单精度的 1/2。
作者: 跳海自殺的鱼    时间: 2009-5-23 12:14
谢谢拉~~~~~
作者: complex1980    时间: 2009-5-25 09:45
太有学术性了,只能默默的帮顶了
作者: detonator    时间: 2009-5-29 21:55
如果不是dual-issue呢?
作者: Edison    时间: 2009-5-29 23:00
这得看它实际的指令、数据并行度。
作者: fupengxiang    时间: 2009-7-23 18:45
路过帮顶了!我也不知道怎么计算
作者: tomsmith123    时间: 2009-7-24 11:52
一般来说,通用计算很少用到FMADD,但是流计算,DSP 计算,会经常性用到。
作者: amd2luck    时间: 2009-8-20 18:44
。。。。。。。。。顶
作者: hd4770    时间: 2009-8-22 14:08
flop 不是指令数,而是指浮点运算数。

例如一条 FMADD 指令,可以看成是 a=a+b*c,这里有两个运算符,因此这条指令算是 2 flops。

GT200 的 SP 可以实现 dual-issue,在特定情况下可以实现单周期执行 1 条 FMA ...
Edison 发表于 2009-5-23 11:42

Rumor is g300 can dual-issue most of the instructions. I would not be surprised g350 can dual-issue two muls.
作者: lanyan3232    时间: 2009-8-29 08:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: Ricepig    时间: 2009-8-29 17:28
无非是把某些常用的计算模式给统一到一条指令上了~~~还是提高一下控制语句的效率是当务之急
作者: Edison    时间: 2009-8-29 17:55
提高效率就是需要在同样的芯片面积上牺牲某方面的性能才能达成。
作者: Windyson    时间: 2009-8-29 19:44
粗俗地说
单精度浮点运算峰值:
ATI:sp数目*sp频率*2
NV:sp数目*sp频率*3
双精度浮点运算峰值:
ATI:sp数目/5*sp频率*2
NV:sp数目/8*sp频率*3




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4