LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2064|回复: 22

[分享][测试]改进的pi,含源代码

[复制链接]
发表于 2009-5-23 13:43:35 | 显示全部楼层 |阅读模式
最近找了一个最新的测试cpu性能的pi程序,绝对比那个常见的又老的不能再老的super-pi要快。
需自行编译,会对cpu进行优化,包括多核。注意看readme,我修改了一下start脚本,让他使用系统的libgmp.a,免去了编译gmp的时间。
测试在gcc4.4下通过,mt的大家可以照着修改。
顺便说一下,我的dothan单核是300万位17秒左右。
这里有个rank,大家可以去瞧瞧。
http://h2np.net/pi/pi_record.html
http://h2np.net/pi/pi_thread.html
原版下载:http://h2np.net/pi/pi_quick_start.tar.gz
注意他是用的gmp4.3.0。
  1. real 14.80
  2. user 14.48
  3. sys 0.25
  4. DATE: 1243531706
  5. PIID: 14F21C327E
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2009-5-23 13:46:54 | 显示全部楼层
假如我写了个更快的算法,能说明我硬件比楼主的好?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-23 14:08:59 | 显示全部楼层
这个算法是基于原来那个super-pi的,只不过针对最新的gmp做了优化,并增加了mt。比较只能比较同等算法下的东西,这不用我来教吧?
回复 支持 反对

使用道具 举报

发表于 2009-5-23 17:45:57 | 显示全部楼层
好处是节约时间?
回复 支持 反对

使用道具 举报

发表于 2009-5-24 01:51:24 | 显示全部楼层
感觉能自动针对cpu优化的测试程序才能测出cpu水平,不然你针对intel平台编译的东西,给AMD测试,不就不公平么?

windows上那么多测试软件,都是i686指令集?这个谁谁给点钱,稍微优化一下,不就他cpu牛了么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-24 03:18:03 | 显示全部楼层
win上的super-pi明显就是针对intel优化的,据说以前都使用wprime的,因为每次amd都比intel强,结果intel不乐意了,用小日本的super-pi优化,至今都是i的强。其实你看我给的那两个链接,哪一个测试不是amd的厉害?无论单核还是多核。
由此而知,现在流行的所谓测试软件的公正性到底如何,只有开源的测试才是令人信服的。最近一直在关注两个平台,准备在下半年搞台新的。看了不少评测,自相矛盾的,*的很多,目前看来唯一值得信任的只有phoronix的test suit,除了里面的super-pi。
继续等i7+x58降价或phenom II的新品+890FX。
回复 支持 反对

使用道具 举报

发表于 2009-5-24 11:19:25 | 显示全部楼层
飞龙2就是常见测试也可以和intel的抗衡了,比如superpi之类,当然那些软件针对谁优化还不知道

感觉intel的能够把两个核心当一个来用,AMD的只能在多任务体会出优势。在j3和j5的问题上貌似能体现出来。。。
回复 支持 反对

使用道具 举报

发表于 2009-5-26 15:07:05 | 显示全部楼层
  1. Type: mt-bbp
  2. Time: 187.658 sec
  3. DATE: 1243320395
  4. PIID: F236F75236
  5. SENDDATE: 1243320493
  6. GMP:  gmp-Version.txt gmp-chudnovsky.c
  7. gcc (GCC) 4.4.0 20090505 (prerelease)
  8. Copyright © 2009 Free Software Foundation, Inc.
  9. 本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
  10. 包括没有适销性和某一专用目的下的适用性担保。
  11. ./mt-bbp: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.18, not stripped
  12. Linux version 2.6.29-ARCH (root@T-POWA-LX) (gcc version 4.4.0 (GCC) ) #1 SMP PREEMPT Wed May 20 07:06:02 UTC 2009
  13. processor        : 0
  14. vendor_id        : GenuineIntel
  15. cpu family        : 6
  16. model                : 15
  17. model name        : Intel(R) Core(TM)2 CPU         T5500  @ 1.66GHz
复制代码
  1. real 18.58
  2. user 18.13
  3. sys 0.39
  4. DATE: 1243320899
  5. PIID: F8222BF9F5
  6. SENDDATE: 1243321354
  7. GMP:  gmp-Version.txt gmp-chudnovsky.c mpn_amd64*
  8. gcc (GCC) 4.4.0 20090505 (prerelease)
  9. Copyright © 2009 Free Software Foundation, Inc.
  10. 本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
  11. 包括没有适销性和某一专用目的下的适用性担保。
  12. ./pi: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.18, not stripped
  13. Linux version 2.6.29-ARCH (root@T-POWA-LX) (gcc version 4.4.0 (GCC) ) #1 SMP PREEMPT Wed May 20 07:06:02 UTC 2009
  14. processor        : 0
  15. vendor_id        : GenuineIntel
  16. cpu family        : 6
  17. model                : 15
  18. model name        : Intel(R) Core(TM)2 CPU         T5500  @ 1.66GHz
复制代码

这个怎么解释?

并且,我下了原版的,编译了gmp,速度有了提升:
比如单核的测试,时间成了14s左右,
mt的则成了126s
回复 支持 反对

使用道具 举报

发表于 2009-5-26 19:21:17 | 显示全部楼层
Post by veryxp;1990206
假如我写了个更快的算法,能说明我硬件比楼主的好?


你这就不对了,比如386跑的super pi,你再拿着到Core上跑,假设386是20mhz,而Core是2000MHZ,但是假设跑出的结果Core是i386的90倍,可能会有人说Core的单位HZ效能还没386好,其实这仅仅是Core运行x86指令而已,这对新CPU是不公平的,说不定用上新代码后,Core会是386的几百倍,上千倍
回复 支持 反对

使用道具 举报

发表于 2009-5-26 21:07:17 | 显示全部楼层
Post by zhuqin_83;1990204
最近找了一个最新的测试cpu性能的pi程序,绝对比那个常见的又老的不能再老的super-pi要快。
需自行编译,会对cpu进行优化,包括多核。注意看readme,我修改了一下start脚本,让他使用系统的libgmp.a,免去了编译gmp的时间。
测试在gcc4.4下通过,mt的大家可以照着修改。
顺便说一下,我的dothan单核是300万位17秒左右。
这里有个rank,大家可以去瞧瞧。
http://h2np.net/pi/pi_record.html
http://h2np.net/pi/pi_thread.html
原版下载:http://h2np.net/pi/pi_quick_start.tar.gz
注意他是用的gmp4.3.0。


感觉这个gmp是需要编译一下才能体现出CPU的差异的,比如在我的笔记本上,用系统的gmp效果比编译的gmp效果差一些,上边我贴出来了,T5500在系统的gmp(i686)上18秒多,而新编译的gmp则是14秒左右,一下子省出来4秒之多。(-march=i686跟-march=native的区别?)

晚上又有新发现:

先贴一下我家HTPC的配置:

AMD Athlon(tm) 64 X2 Dual Core Processor 5200+(2.7GHZ)
GA-MA78GM-S2HP
金世顿DDR2 800 2Gx1

照配置来看,CPU配置可以说是比较低下,单通道内存对运算效果也可能有很大的影响,但效果却是出乎意料的令人满意:
start.sh:
real 8.12
user 7.74
sys 0.22
DATE: 1243336977
PIID: B96C1E5CB7

mt-start.sh
Time: 66.459 sec
DATE: 1243337078
PIID: 812271AA6F

比T5500实在是好的太多。尤其是mt方面
T5500时160多秒,由于我HTPC上也安装了一个X86-64的Arch,所以也有条件针对AMD的64位运算来次mark,结果绝对是目瞪口呆啊,我都怀疑这个软件是不是专门对AMD作弊了?:

start.sh:
real 3.38
user 3.24
sys 0.11
DATE: 1243341279
PIID: F09F2877FE

mt-start.sh
Time: 19.453 sec
DATE: 1243341328
PIID: C38288734D

啧啧,数据说明一切.........
如果谁说无图无真相,那么我上图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表