如何计算英特尔(R)酷睿(TM)i7-3770 CPU的单精度数据和双精度数据的峰值性能.linux的"cat/proc/cpuinfo"是下面的,这是最后一个:
processor : 7
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
stepping : 9
microcode : 0x10
cpu MHz : 1600.000
cache size : 8192 KB
physical id : 0
siblings : 8
core id : 3
cpu cores : 4
apicid : 7
initial apicid : 7
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips : 6784.16
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
Run Code Online (Sandbox Code Playgroud)
有一个类似的问题名为如何计算CPU的理论峰值性能,答案给出了计算峰值性能的公式,它提供了双精度的峰值性能.那么如何计算单精度的性能?有人可以给出两个公式来分别计算单精度数据和双精度数据.
浮点数据由SSE单元完成,i7-3770的一个是SSE4.1/4.2,AVX,所以另一个问题是不同版本的SSE为每个周期提供不同的CPU指令用于单精度数据和双精度?我在哪里可以找到详细的文件.
对于具有一个处理器(和一个插槽)的系统,这里是等式:
GFLOPS =核心数×核心频率(GHz)×每个时钟周期的操作数
对于等式,您使用物理核心,而不是逻辑(线程).此外,处理器内核每秒可以完成的操作数量取决于所讨论的处理器的体系结构,以及您是在单精度数据还是双精度数字后.我将在下面再解释一下.
计算旧处理器架构的FLOP性能比我们习惯的新芯片要多一些.如果您不打算计算任何比K8或Core2更旧的芯片的FLOP /周期,那么您可以掩盖这一部分.但是,有一点需要注意的是,像这样的指令集扩展会影响芯片可以运行的FLOP /周期数.例如,没有指令集扩展的Pentium 4最多可以以单精度执行1 FLOP /周期.然而,在使用SSE的情况下,它可以以单精度执行4个FLOP /周期.此外,Pentium 4的双倍精度从1 FLOP /周期加倍,没有扩展,使用SSE2加倍到2 FLOP /周期.
如果支持SSE指令,则可以在每个时钟周期执行4个FLOP.这适用于支持SSE指令的Intel和AMD处理器.
SSE2指令允许每个周期使用2个FLOP进行双精度算术运算.SSE2不影响单精度.这同样适用于两家供应商,但需要警告.有限型号的AMD处理器在早期采用阶段支持SSE2,这就是最后一套指令的来源......
支持3DNow!说明仅供AMD部件使用.在FLOP /循环的范围内,功能与SSE指令相同.因此,支持3DNow的AMD芯片!但是由于缺乏SSE支持,单个精度的每个时钟周期仍然可以执行4个FLOP.支持3DNow!不会影响双精度.还有支持3DNow的AMD型号!和SSE指令.你为什么问?这些指令的功能超出了FLOP的改进,一个提供了另一个没有的功能,反之亦然.这超出了你所要求的范围,但我认为有必要澄清以避免混淆.
英特尔和AMD都希望在启用所有指令集扩展的情况下计算FLOP /周期,因此我建议您也这样做.
对于较新的架构,这不一定是一个问题.Pentium III的所有Intel系列都支持SSE,Pentium 4支持SSE2.来自K6-2的所有AMD系列都支持3DNow !,而Athlon XP/MP,Duron和Sempron都支持SSE.AMD芯片的SSE2支持直到Athlon 64及其兄弟Sempron和Turion 64才到达.
(请注意,以下列表包含体系结构名称,而不是处理器系列名称.)
注 - 共享FPU意味着每两个内核有一个FPU.尽管网上传播的内容,AMD声称基于Steamroller的A10-7850K能够支持856 SP GFLOP; 其中737是Radeon R7集成显卡,CPU为119.要实现119 SP GFLOP,每个周期需要8个FLOP.这应该适用于Bulldozer的所有变体,因为FPU设计始终保持相同.
| 归档时间: |
|
| 查看次数: |
3032 次 |
| 最近记录: |