浮点运算能力
计算机的浮点运算能力是什么
当我们用不同的电脑计算圆周率时,会发现一台电脑的计算较另一台来讲结果更加精确。或者我们在进行枪战游戏的时候,当一粒子弹击中墙壁时,墙上剥落下一块墙皮,同样的场面在一台电脑上的表现可能会非常的呆板、做作;而在另外一台电脑上就会非常生动形象,甚至与我们在现实中看到的所差无几。
以上我们看到的一切,都源于CPU内部添加的“浮点运算功能”。浮点运算能力是关系到CPU的多媒体,3D图形处理的一个重要指标。P4中只有 2个浮点执行单元,而其中一个单元要同时处理FADD FMUL MMX SSE 和SSE2,所以P4处理器的浮点单元设计应该是整个处理器设计中最薄弱的部分。AMD则为Athlon设计了3个并行的浮点、多媒体执行单元。其中一个是浮点的存储,一个是浮点加,一个是浮点乘,其中浮点加和浮点乘是分开的,所以Athlon中就有两个并行的浮点通道,三个执行单元,而且相互之间完全不受干扰,这是所谓的超标量的浮点结构,可以说Athlon的浮点运算无疑是目前最强的。
Linpack浮点运算能力测试
Linpack现在在国际上已经成为最流行的用于测试高性能设备系统浮点性能的benchmark。通过利用高性能计算机,用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能设备的浮点性能。
怎样计算浮点运算能力
最近对Linux集群比较感兴趣,主要用来算一些模式。关于高性能并行运算,我们关心的就是它的运算能力,单位的集群是同一架构的CPU,但以后的主流肯定是GPU异构的并行计算平台,没办法,GPU在浮点运算方面有着得天独厚的优势。
对AMD而言,R600架构的流处理器很好理解。每一个流处理器中包含了5个逻辑算数单元,即5个ALU。 其中四个可以计算MADD(乘加,其结果为2 FLOPs) ,其中另一个胖一些的可以计算MUL+某种函数计算(其结果仍然是2 FLOPs),总共5个ALU组成一个流处理器,故:每一个流处理中最大可产生10次FLOPs运算。 A卡的浮点计算表达式为流处理器频率 x 流处理器数量 x 10 FLOPs 。