找回密码
 欢迎注册
楼主: gxqcn

[讨论] GMP 2010-01-08 出 V5.0.0 了

[复制链接]
 楼主| 发表于 2010-1-13 10:54:02 | 显示全部楼层
GMP v5.0.0 比 GMP V4.2.1 确实改进了不少。

GMP V4.2.1 vs HugeCalc V8.0.0.0:
  1. Call HugeCalc V8.0.0.0

  2. --------------------------------

  3. Calculate Fib[100000000]:

  4. GMP used time: 15.603340 s ( 69424191 Bits )
  5. HI  used time: 8.528635 s ( 20898764 Digits )
  6. HX  used time: 8.200586 s ( 69424191 Bits )

  7. --------------------------------

  8. Calculate Fib[200000000]:

  9. GMP used time: 32.241760 s ( 138848382 Bits )
  10. HI  used time: 17.134349 s ( 41797528 Digits )
  11. HX  used time: 16.440529 s ( 138848382 Bits )

  12. --------------------------------

  13. Calculate Fib[400000000]:

  14. GMP used time: 70.223929 s ( 277696765 Bits )
  15. HI  used time: 36.116319 s ( 83595056 Digits )
  16. HX  used time: 34.702639 s ( 277696765 Bits )

  17. 请按任意键继续. . .
复制代码
GMP V5.0.0 vs HugeCalc V8.0.0.0:
  1. Call HugeCalc V8.0.0.0

  2. --------------------------------

  3. Calculate Fib[100000000]:

  4. GMP used time: 5.300299 s ( 69424191 Bits )
  5. HI  used time: 8.506640 s ( 20898764 Digits )
  6. HX  used time: 8.156382 s ( 69424191 Bits )

  7. --------------------------------

  8. Calculate Fib[200000000]:

  9. GMP used time: 11.414467 s ( 138848382 Bits )
  10. HI  used time: 17.079120 s ( 41797528 Digits )
  11. HX  used time: 16.341026 s ( 138848382 Bits )

  12. --------------------------------

  13. Calculate Fib[400000000]:

  14. GMP used time: 28.721999 s ( 277696765 Bits )
  15. HI  used time: 35.921920 s ( 83595056 Digits )
  16. HX  used time: 34.470614 s ( 277696765 Bits )

  17. 请按任意键继续. . .
复制代码
测试代码见:http://bbs.emath.ac.cn/thread-27-1-1.html
测试环境为:WinXP Sp3, AMD Athlon(tm) 64 Processor, 3200+, 2.01 GHz, 1G DDR2 RAM
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-1-13 11:51:59 | 显示全部楼层
呵呵,终于装好了该死的GCC 4.4.0,很麻烦
在编译 GMP 4.3.2
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-1-13 14:13:02 | 显示全部楼层
在那个帖子添加了,GCC4.4.0编译的版本
比较大小就不同

应该稍微有点差别
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-1-14 11:05:23 | 显示全部楼层
21# gxqcn

从这个数据上看,在bit很多时,GMP5 竟比GMP4 快3倍,这令我始料未及。不知GMP5采用哪些手段来提速,是否采用了多线程技术,如果不是,那这个算法的改变也太厉害了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-1-14 11:40:16 | 显示全部楼层
应该不是多线程
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-1-14 11:43:09 | 显示全部楼层
他在 Toom 算法上增加了很多,一直到Toom - 6
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-1-14 11:45:08 | 显示全部楼层
相应的需要FFT算法的大数底限提高了
而在小规模上
FFT算法不如Toom算法效率高
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-1-14 12:28:49 | 显示全部楼层
27# 无心人
原来如此,TOOM5, TOOM6的递推式很复杂的,看来这次GMP是动了真格了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-2-6 13:05:08 | 显示全部楼层
本帖最后由 wayne 于 2010-2-6 13:13 编辑

盼星星盼月亮盼了快一个月了, ,靠人不如求己,

今天我自己动手在mingw下编译成功了gmp5.0.0,用的gcc版本是4.4.1,第一次编译忘加了--enable-cxx,搞的没有gmpxx.h文件。于是我又花了一个多小时编译了一下,折腾了昨天一晚上加今天一上午,一直到现在。

configure选项是
./configure --prefix=/opt/gmp5.0 --enable-cxx  --disable-static --enable-shared --enable-assert --enable-fft

最后,测试通过的例子是

  1.         #include <iostream>
  2.         #include <gmpxx.h>
  3.         using namespace std;
  4.         int main (void) {
  5.         mpz_class a, b, c;
  6.         a = 1234;
  7.         b = "-5678";
  8.         c = a+b;
  9.         cout << "sum is " << c << "\n";
  10.         cout << "absolute value is " << abs(c) << "\n";
  11.         cin >> a;
  12.         return 0;
  13.         }
  14.        
复制代码

gmp5.0.7z

418.99 KB, 下载次数: 1, 下载积分: 金币 -1 枚, 经验 1 点, 下载 1 次

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-3 17:26 , Processed in 0.059560 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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