AMD Ryzen 5 7600X gmpbench submission (result 8010.2)

hermann at stamm-wilbrandt.de hermann at stamm-wilbrandt.de
Sat Jul 8 02:02:36 CEST 2023


I recently bought a new 7600X PC that was not-too-expensive (619$), but 
is rank 18 on PassMark's Singe Thread performance list of >3100 CPUs:
https://www.cpubenchmark.net/singleThread.html

It was good for multicore applications like cado-nfs.py for factoring 
RSA numbers as well (factored RSA-140 in just 11.1h):
https://github.com/Hermann-SW/RSA_numbers_factored/blob/main/cado-nfs/README.md#cado-nfs

My personal pure integer performance single thread benchmark is gmplib 
"powm(_, qnr, p/4,cp)" for small quadratic non-residue qnr of very large 
prime =1 (mod 4). Here is comparison with i7_11850H, that computed 
"sqrt(-1) (mod p)" for smallest known 1,000,000-digit prime in 26h 
(7600X is expected to take 19h for that):
https://raw.githubusercontent.com/Hermann-SW/QuadraticRegression/master/sqrtm1___.png


Today I stumbled over gmpbench the first time.
I downloaded, compiled and did run on 7600X CPU.
Immediately 3rd rank, very close to 2nd.
Then I read in README how to submit.


A. office PC with 7600X CPU:
https://github.com/Hermann-SW/7600X#details-of-pc

B. AMD Ryzen 5 7600X (4700MHz-5300MHz)
I did run "perf stat -e cycles,task-clock ./runbench" with slightly 
worse results, but it reported more than 5.3GHz CPU frequency:

...
  Performance counter stats for './runbench':

  2,243,040,428,508      cycles                    #    5.328 GHz
         421,006.81 msec task-clock                #    1.000 CPUs 
utilized

      421.164454516 seconds time elapsed
...


C. Using gmp version: 6.2.1

D. no modifications

E. gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04.1)

F. see log below


***** GMPbench version 0.2 *****
Using default CFLAGS = "-O3 -fomit-frame-pointer"
Using default CC = "gcc"
Using default LIBS = "-static -lgmp"
Using compilation command: gcc -O3 -fomit-frame-pointer foo.c -o foo 
-static -lgmp
You may want to override CC, CFLAGS, and LIBS
Using gmp version: 6.2.1
Compiling benchmarks
Running benchmarks (propagated score accuracy exceeds printed 
intermediates)
   Category base
     Program multiply (weight=1)
       GMPbench.base.multiply(128)                        2.504e+08
       GMPbench.base.multiply(512)                        4.698e+07
       GMPbench.base.multiply(8192)                       4.665e+05
       GMPbench.base.multiply(131072)                          8243
       GMPbench.base.multiply(2097152)                          301
       GMPbench.base.multiply(128,128)                    2.421e+08
       GMPbench.base.multiply(512,512)                    3.458e+07
       GMPbench.base.multiply(8192,8192)                  2.821e+05
       GMPbench.base.multiply(131072,131072)                   5735
       GMPbench.base.multiply(2097152,2097152)                  193
       GMPbench.base.multiply(15000,10000)                1.567e+05
       GMPbench.base.multiply(20000,10000)                1.153e+05
       GMPbench.base.multiply(30000,10000)                7.114e+04
       GMPbench.base.multiply(16777216,512)                    1087
       GMPbench.base.multiply(16777216,262144)                 47.5
     GMPbench.base.multiply                    1.0589e+05
     Program divide (weight=1)
       GMPbench.base.divide(8192,32)                      3.523e+06
       GMPbench.base.divide(8192,64)                      3.798e+06
       GMPbench.base.divide(8192,128)                     2.588e+06
       GMPbench.base.divide(8192,4096)                    7.291e+05
       GMPbench.base.divide(131072,65536)                      7411
       GMPbench.base.divide(8388608,4194304)                   38.3
       GMPbench.base.divide(8192,8064)                    3.904e+07
       GMPbench.base.divide(16777216,262144)                   23.1
     GMPbench.base.divide                           94691
     Program gcd (weight=0.5)
       GMPbench.base.gcd(128,128)                         6.537e+06
       GMPbench.base.gcd(512,512)                         1.041e+06
       GMPbench.base.gcd(8192,8192)                       3.104e+04
       GMPbench.base.gcd(131072,131072)                         371
       GMPbench.base.gcd(1048576,1048576)                      19.1
     GMPbench.base.gcd                              17180
     Program gcdext (weight=0.5)
       GMPbench.base.gcdext(128,128)                      4.034e+06
       GMPbench.base.gcdext(512,512)                      9.199e+05
       GMPbench.base.gcdext(8192,8192)                    2.166e+04
       GMPbench.base.gcdext(131072,131072)                      277
       GMPbench.base.gcdext(1048576,1048576)                   13.3
     GMPbench.base.gcdext                           12425
   GMPbench.base                          52717
   Category app
     Program rsa (weight=1)
       GMPbench.app.rsa(512)                              8.183e+04
       GMPbench.app.rsa(1024)                             1.402e+04
       GMPbench.app.rsa(2048)                                  2181
     GMPbench.app.rsa                               13576
     Program pi (weight=1)
       GMPbench.app.pi(10000)                                  2534
       GMPbench.app.pi(100000)                                 97.3
       GMPbench.app.pi(1000000)                                5.27
     GMPbench.app.pi                               109.12
   GMPbench.app                          1217.1
GMPbench:         8010.2
hermann at 7600x:~/gmpbench-0.2$



Regards,

Hermann Stamm-Wilbrandt.


More information about the gmp-devel mailing list