GMP changes

Robert Gries gries at pasemi.com
Tue Sep 11 22:02:12 CEST 2007


I guess I do not know how to release for a new platfom: pa6t (Pasemi new part).
These changes are about a 25% improvemnet for our part. If these changes could be release for our part it would be useful.
thanks r gries
New:
  GMPbench.base.new_multiply result: 12493
  GMPbench.base.new_divide result: 8603.2
  GMPbench.base result: 10367
  GMPbench.app result: 619.41
GMPbench result: 2534.1

Old:
  GMPbench.base.multiply result: 9587.9
  GMPbench.base.divide result: 7504
  GMPbench.base result: 8482.2
  GMPbench.app result: 467.95
GMPbench result: 1992.3

ag5-5:/proj/ext3/users/gries/math/gmpbench-0.1> ./runbench.nocompile
***** Ggries at orion-059:/proj/ext3/users/gries/math/gmpbench-0.1$ ./runbench.nocompile
***** GMPbench version 0.1 *****
Using default CFLAGS = "-O5 -m64 "
Using default CC = "gcc"
Using default LIBS = "-static -lgmp"
Using compilation command: gcc -O5 -m64  foo.c -o foo -static -lgmp
You may want to override CC, CFLAGS, and LIBS
Using gmp version: 4.2.1
Compiling benchmarks
Running benchmarks
  Category base
    Program multiply
      multiply 128 128
      GMPbench.base.multiply.128,128 result: 4319705
      multiply 512 512
      GMPbench.base.multiply.512,512 result: 968174
      multiply 8192 8192
      GMPbench.base.multiply.8192,8192 result: 13140
      multiply 131072 131072
      GMPbench.base.multiply.131072,131072 result: 190
      multiply 2097152 2097152
      GMPbench.base.multiply.2097152,2097152 result: 7.76
    GMPbench.base.multiply result: 9587.9
    Program divide
      divide 8192 32
      GMPbench.base.divide.8192,32 result: 305297
      divide 8192 64
      GMPbench.base.divide.8192,64 result: 306715
      divide 8192 128
      GMPbench.base.divide.8192,128 result: 178677
      divide 8192 4096
      GMPbench.base.divide.8192,4096 result: 20521
      divide 8192 8064
      GMPbench.base.divide.8192,8064 result: 415117
      divide 131072 8192
      GMPbench.base.divide.131072,8192 result: 409
      divide 131072 65536
      GMPbench.base.divide.131072,65536 result: 245
      divide 8388608 4194304
      GMPbench.base.divide.8388608,4194304 result: 0.704
    GMPbench.base.divide result: 7504
  GMPbench.base result: 8482.2
  Category app
    Program rsa
      rsa 512
      GMPbench.app.rsa.512 result: 2363
      rsa 1024
      GMPbench.app.rsa.1024 result: 476
      rsa 2048
      GMPbench.app.rsa.2048 result: 91.1
    GMPbench.app.rsa result: 467.95
  GMPbench.app result: 467.95
GMPbench result: 1992.3
gries at orion-059:/proj/ext3/users/gries/math/gmpbench-0.1$ ./runbench.save
***** GMPbench version 0.1 *****
Using default CFLAGS = "-O5 -m64 -I/proj/ext3/users/gries/math/gmp-4.2.1 "
Using default CC = "gcc"
Using default LIBS = "-static -L/proj/ext3/users/gries/math/gmp-4.2.1/.libs/  -lgmp"
Using compilation command: gcc -O5 -m64 -I/proj/ext3/users/gries/math/gmp-4.2.1  foo.c -o foo -static -L/proj/ext3/users/gries/math/gmp-4.2.1/.libs/  -lgmp
You may want to override CC, CFLAGS, and LIBS
Using gmp version: 4.2.1
Compiling benchmarks
Running benchmarks
  Category base
    Program new_multiply
      new_multiply 128 128
      GMPbench.base.new_multiply.128,128 result: 5781062
      new_multiply 512 512
      GMPbench.base.new_multiply.512,512 result: 1487996
      new_multiply 8192 8192
      GMPbench.base.new_multiply.8192,8192 result: 16209
      new_multiply 131072 131072
      GMPbench.base.new_multiply.131072,131072 result: 238
      new_multiply 2097152 2097152
      GMPbench.base.new_multiply.2097152,2097152 result: 9.17
    GMPbench.base.new_multiply result: 12493
    Program new_divide
      new_divide 8192 32
      GMPbench.base.new_divide.8192,32 result: 304324
      new_divide 8192 64
      GMPbench.base.new_divide.8192,64 result: 305114
      new_divide 8192 128
      GMPbench.base.new_divide.8192,128 result: 170309
      new_divide 8192 4096
      GMPbench.base.new_divide.8192,4096 result: 27753
      new_divide 8192 8064
      GMPbench.base.new_divide.8192,8064 result: 434970
      new_divide 131072 8192
      GMPbench.base.new_divide.131072,8192 result: 578
      new_divide 131072 65536
      GMPbench.base.new_divide.131072,65536 result: 313
      new_divide 8388608 4194304
      GMPbench.base.new_divide.8388608,4194304 result: 0.869
    GMPbench.base.new_divide result: 8603.2
  GMPbench.base result: 10367
  Category app
    Program new_rsa
      new_rsa 512
      GMPbench.app.new_rsa.512 result: 3234
      new_rsa 1024
      GMPbench.app.new_rsa.1024 result: 639
      new_rsa 2048
      GMPbench.app.new_rsa.2048 result: 115
    GMPbench.app.new_rsa result: 619.41
  GMPbench.app result: 619.41
GMPbench result: 2534.1
gries at orion-059:/proj/ext3/users/gries/math/gmpbench-0.1$


----- Original Message -----
From: "Torbjorn Granlund" <tg-this-will-bounce-but-I-am-subscribed-to-the-list-honest at swox.com>
To: "Robert Gries" <gries at pasemi.com>
Cc: gmp-devel at swox.com, "Peter Bannon" <bannon at pasemi.com>
Sent: Tuesday, September 11, 2007 11:59:45 AM (GMT-0800) America/Los_Angeles
Subject: Re: GMP changes

What do these changes do?  I see no comments at all.

The code is larger that in gmp 4.2.2, but if the cycle numbers are
accurate, all functions ran at the same speed.

-- 
Torbjörn



More information about the gmp-devel mailing list