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