本帖最後由 MSI_R9_280_Gami 於 2026-1-26 23:25 編輯
上左鬼佬壇問鬼佬,super_pi compilation方法est on below,worked on Void Musl & debian glibc2 libc6,人生第二次compiling成功,第一次係brave
binaric ball pi means it was compiled as -march=ivybridge,pi_css5 as broadwell
https://github.com/Fibonacci43/SuperPI?tab=readme-ov-file#build-on-linux
#xbps-install gcc
$cd ./;gcc -O -funroll-loops -fomit-frame-pointer pi_fftcs.c fftsg_h.c -lm -o pi_css5;./pi_css5
void@void ~/V/SuperPI-main> gcc -O -funroll-loops -fomit-frame-pointer pi_fftcs.c fftsg_h.c -lm -o pi_css5
void@void ~/V/SuperPI-main> /home/void/Videos/SuperPI-main/pi_css5
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
Usage: /home/void/Videos/SuperPI-main/pi_css5 digits
Number of digits of pi to calculate?
100
initializing...
nfft= 32
radix= 10000
error_margin= 5.15588e-07
calculating 128 digits of PI...
AGM iteration
precision= 48: 0.00 sec
precision= 80: 0.00 sec
precision= 176: 0.00 sec
writing pi128.txt...
0.00 sec. (real time)
Hit RETURN to exit.
void@void ~/V/SuperPI-main [SIGINT]> /home/void/Videos/SuperPI-main/pi_css5 500000
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
initializing...
nfft= 131072
radix= 10000
error_margin= 0.0029395
calculating 524288 digits of PI...
AGM iteration
precision= 48: 0.03 sec
precision= 80: 0.03 sec
precision= 176: 0.03 sec
precision= 352: 0.03 sec
precision= 688: 0.03 sec
precision= 1392: 0.03 sec
precision= 2784: 0.03 sec
precision= 5584: 0.03 sec
precision= 11168: 0.03 sec
precision= 22336: 0.03 sec
precision= 44688: 0.03 sec
precision= 89408: 0.03 sec
precision= 178816: 0.03 sec
precision= 357648: 0.03 sec
precision= 715312: 0.03 sec
writing pi524288.txt...
0.60 sec. (real time)
void@void ~/M/SuperPI-main> ./pi_css5 50000000
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
initializing...
nfft= 16777216
radix= 10000
error_margin= 0.365078
calculating 67108864 digits of PI...
AGM iteration
precision= 48: 6.38 sec
precision= 80: 6.31 sec
precision= 176: 6.52 sec
precision= 352: 6.53 sec
precision= 688: 6.49 sec
precision= 1392: 6.52 sec
precision= 2784: 6.54 sec
precision= 5584: 6.42 sec
precision= 11168: 6.42 sec
precision= 22336: 6.47 sec
precision= 44688: 6.34 sec
precision= 89408: 6.31 sec
precision= 178816: 6.24 sec
precision= 357648: 6.25 sec
precision= 715312: 6.25 sec
precision= 1430640: 6.23 sec
precision= 2861280: 6.24 sec
precision= 5722592: 6.20 sec
precision= 11445200: 6.21 sec
precision= 22890416: 6.21 sec
precision= 45780848: 6.24 sec
precision= 91561728: 6.22 sec
writing pi67108864.txt...
156.92 sec. (real time)
#xbps-remove binutils-doc binutils-libs libdebuginfod binutils libgcc-devel libstdc++-devel libatomic libatomic-devel kernel-libc-headers musl-devel gcc unzip
debian@debian:~/Videos/SuperPI-main$ ./pi 10000
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
initializing...
nfft= 4096
radix= 10000
error_margin= 7.41633e-05
calculating 16384 digits of PI...
AGM iteration
precision= 48: 0.00 sec
precision= 80: 0.00 sec
precision= 176: 0.00 sec
precision= 352: 0.00 sec
precision= 688: 0.00 sec
precision= 1392: 0.00 sec
precision= 2784: 0.00 sec
precision= 5584: 0.00 sec
precision= 11168: 0.00 sec
precision= 22336: 0.00 sec
writing pi16384.txt...
0.02 sec. (real time)
debian@debian:~/Videos/SuperPI-main$ ./pi 500000
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
initializing...
nfft= 131072
radix= 10000
error_margin= 0.0029395
calculating 524288 digits of PI...
AGM iteration
precision= 48: 0.05 sec
precision= 80: 0.05 sec
precision= 176: 0.05 sec
precision= 352: 0.05 sec
precision= 688: 0.05 sec
precision= 1392: 0.05 sec
precision= 2784: 0.05 sec
precision= 5584: 0.05 sec
precision= 11168: 0.05 sec
precision= 22336: 0.05 sec
precision= 44688: 0.05 sec
precision= 89408: 0.05 sec
precision= 178816: 0.05 sec
precision= 357648: 0.05 sec
precision= 715312: 0.05 sec
writing pi524288.txt...
0.91 sec. (real time)
debian@debian:~/Videos/SuperPI-main$ ./pi 50000000
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
initializing...
nfft= 16777216
radix= 10000
error_margin= 0.365078
calculating 67108864 digits of PI...
AGM iteration
precision= 48: 10.12 sec
precision= 80: 10.07 sec
precision= 176: 10.10 sec
precision= 352: 10.12 sec
precision= 688: 10.12 sec
precision= 1392: 10.12 sec
precision= 2784: 10.13 sec
precision= 5584: 10.10 sec
precision= 11168: 10.05 sec
precision= 22336: 10.10 sec
precision= 44688: 10.11 sec
precision= 89408: 10.10 sec
precision= 178816: 10.07 sec
precision= 357648: 10.06 sec
precision= 715312: 10.08 sec
precision= 1430640: 10.11 sec
precision= 2861280: 10.11 sec
precision= 5722592: 10.10 sec
precision= 11445200: 10.15 sec
precision= 22890416: 10.08 sec
precision= 45780848: 10.08 sec
precision= 91561728: 10.10 sec
writing pi67108864.txt...
250.08 sec. (real time)
intel turbo boost對core i5 i7 Xeon E3效能提升影響好大(亦有可能係Broadwell vram for iGP as L4 cache有關),E5限定TDP,DDR bandwidth同算力都差d
Super PI是一個計算圓周率的電腦程式,最大精確到小數點以後的3200萬位數。該程式採用高斯-勒讓德演算法,並且於1995年被日本電腦科學家金田康正使用在Windows環境下計算出精確到232次方的圓周率。
高斯-勒讓德演算法是一種用於計算圓周率(π)的演算法。它以迅速收斂著稱,只需25次迭代即可產生π的4500萬位正確數字。不過,它的缺點是主記憶體密集,因此有時它不如梅欽類公式使用廣泛。
該演算法具有二階收斂性,本質上說就是演算法每執行一步正確位數就會加倍。
Cache L1: 64 KB (per core)
Cache L2: 256 KB (per core)
Cache L3: 30 MB (shared)
E5-2697 v2似乎cache輸蝕俾E3-1285L v4的128MB L4 cache,難怪之前睇過有篇文話有d使用情況下5代CPU可以打平8代9代甚至10代U,類似AMD X3D咁大cache advantage。比起E5-4650 4657L 2697 v2,E3-1285L v4高時脈,大L4 cache,新架構新指令集,run super-pi計圓周率,sysbench計質數,memory bandwidth都有優勢
debian@debian:~/Music/SuperPI-main$ gcc -O -funroll-loops -fomit-frame-pointer pi_fftcs.c fftsg_h.c -lm -o pi-libc6-3ʳᵈivybridge
debian@debian:~/Music/SuperPI-main$ ./pi-libc6-3ʳᵈivybridge 300000000
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
initializing...
nfft= 134217728
radix= 1000
error_margin= 0.0560284
calculating 402653184 digits of PI...
AGM iteration
precision= 36: 87.94 sec
precision= 84: 88.21 sec
precision= 168: 87.79 sec
precision= 348: 87.65 sec
precision= 696: 87.95 sec
precision= 1392: 88.12 sec
precision= 2784: 87.79 sec
precision= 5580: 87.51 sec
precision= 11160: 87.90 sec
precision= 22344: 87.93 sec
precision= 44688: 87.91 sec
precision= 89400: 88.27 sec
precision= 178812: 87.97 sec
precision= 357648: 87.70 sec
precision= 715308: 87.76 sec
precision= 1430628: 87.89 sec
precision= 2861280: 87.86 sec
precision= 5722584: 87.97 sec
precision= 11445192: 88.02 sec
precision= 22890408: 87.72 sec
precision= 45780852: 87.38 sec
precision= 91561716: 87.35 sec
precision= 183123468: 87.90 sec
precision= 366246960: 87.87 sec
precision= 732493944: 87.86 sec
writing pi402653184.txt...
2435.97 sec. (real time)
void@void ~/M/SuperPI-main> ./pi-voidMUSL-5ᵗʰbroadwell 300000000
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
initializing...
nfft= 134217728
radix= 1000
error_margin= 0.0561774
calculating 402653184 digits of PI...
AGM iteration
precision= 36: 59.66 sec
precision= 84: 58.57 sec
precision= 168: 59.34 sec
precision= 348: 59.91 sec
precision= 696: 58.97 sec
precision= 1392: 58.43 sec
precision= 2784: 59.67 sec
precision= 5580: 59.88 sec
precision= 11160: 59.69 sec
precision= 22344: 59.08 sec
precision= 44688: 59.83 sec
precision= 89400: 58.58 sec
precision= 178812: 58.94 sec
precision= 357648: 59.26 sec
precision= 715308: 59.20 sec
precision= 1430628: 60.34 sec
precision= 2861280: 58.43 sec
precision= 5722584: 57.23 sec
precision= 11445192: 57.27 sec
precision= 22890408: 57.52 sec
precision= 45780852: 59.47 sec
precision= 91561716: 58.69 sec
precision= 183123468: 58.90 sec
precision= 366246960: 58.73 sec
precision= 732493944: 58.93 sec
writing pi402653184.txt...
1635.52 sec. (real time)
void@void ~/M/SuperPI-main> gcc -O -funroll-loops -fomit-frame-pointer pi_fftcs.c fftsg_h.c -lm -o pi-voidMUSL-3ʳᵈivybridge
void@void ~/M/SuperPI-main> ./pi-voidMUSL-3ʳᵈivybridge 300000000
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
initializing...
nfft= 134217728
radix= 1000
error_margin= 0.0561774
calculating 402653184 digits of PI...
AGM iteration
precision= 36: 91.13 sec
precision= 84: 88.87 sec
precision= 168: 88.87 sec
precision= 348: 89.33 sec
precision= 696: 89.20 sec
precision= 1392: 89.02 sec
precision= 2784: 89.24 sec
precision= 5580: 89.20 sec
precision= 11160: 89.16 sec
precision= 22344: 89.04 sec
precision= 44688: 89.05 sec
precision= 89400: 89.03 sec
precision= 178812: 89.03 sec
precision= 357648: 89.02 sec
precision= 715308: 89.11 sec
precision= 1430628: 89.21 sec
precision= 2861280: 89.21 sec
precision= 5722584: 89.23 sec
precision= 11445192: 89.30 sec
precision= 22890408: 89.19 sec
precision= 45780852: 89.21 sec
precision= 91561716: 89.22 sec
precision= 183123468: 89.20 sec
precision= 366246960: 89.23 sec
precision= 732493944: 89.24 sec
writing pi402653184.txt...
2476.21 sec. (real time)
X79 + E5-2697 v2
debian@debian:~/Videos$ /home/debian/Videos/pi-libc6-3ʳᵈivybridge 1000000000
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
initializing...
nfft= 268435456
radix= 1000
error_margin= 0.0882149
calculating 805306368 digits of PI...
AGM iteration
precision= 36: 192.16 sec
precision= 84: 188.46 sec
precision= 168: 188.19 sec
precision= 348: 188.84 sec
precision= 696: 190.10 sec
precision= 1392: 187.38 sec
precision= 2784: 187.40 sec
precision= 5580: 187.47 sec
precision= 11160: 187.48 sec
precision= 22344: 187.54 sec
precision= 44688: 187.46 sec
precision= 89400: 187.50 sec
precision= 178812: 187.55 sec
precision= 357648: 187.69 sec
precision= 715308: 187.79 sec
precision= 1430628: 190.35 sec
precision= 2861280: 187.80 sec
precision= 5722584: 188.33 sec
precision= 11445192: 187.73 sec
precision= 22890408: 187.60 sec
precision= 45780852: 187.78 sec
precision= 91561716: 187.50 sec
precision= 183123468: 187.72 sec
precision= 366246960: 191.09 sec
precision= 732493944: 187.33 sec
precision= 1464987924: 187.46 sec
writing pi805306368.txt...
5407.86 sec. (real time)
H81M-K + i7-4770 + 8GB DDR3-1600mt/s x2 VALUE SELECT CL11-11-11-30 altlinux
$make all=$gcc -Wall -pedantic -O -fomit-frame-pointer -funroll-loops -march=haswell -malign-double pi_fftcs.o fftsg_h.o -lm -static -o pi_css5,但會failed
[wery245@wery245 Music]$ ./pi-libc6-4ᵗʰhaswell 1000000000
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
initializing...
nfft= 268435456
radix= 1000
error_margin= 0.0929832
calculating 805306368 digits of PI...
AGM iteration
precision= 36: 181.45 sec
precision= 84: 181.62 sec
precision= 168: 179.28 sec
precision= 348: 182.41 sec
precision= 696: 180.27 sec
precision= 1392: 182.02 sec
precision= 2784: 182.74 sec
precision= 5580: 185.80 sec
precision= 11160: 181.03 sec
precision= 22344: 176.05 sec
precision= 44688: 174.54 sec
precision= 89400: 172.71 sec
precision= 178812: 178.56 sec
precision= 357648: 179.75 sec
precision= 715308: 172.14 sec
precision= 1430628: 171.36 sec
precision= 2861280: 181.77 sec
precision= 5722584: 182.58 sec
precision= 11445192: 183.21 sec
precision= 22890408: 182.10 sec
precision= 45780852: 182.92 sec
precision= 91561716: 182.84 sec
precision= 183123468: 182.37 sec
precision= 366246960: 177.46 sec
precision= 732493944: 170.02 sec
precision= 1464987924: 176.45 sec
writing pi805306368.txt...
5325.24 sec. (real time)
同上 void musl
[void@void Music]$ ./pi-voidMUSL-4ᵗʰhaswell 1000000000
Calculation of PI using FFT and AGM, ver. LG1.1.2-MP1.5.2a.memsave
initializing...
nfft= 268435456
radix= 1000
error_margin= 0.0882149
calculating 805306368 digits of PI...
AGM iteration
precision= 36: 145.07 sec
precision= 84: 144.53 sec
precision= 168: 145.11 sec
precision= 348: 142.62 sec
precision= 696: 142.96 sec
precision= 1392: 142.71 sec
precision= 2784: 144.68 sec
precision= 5580: 144.27 sec
precision= 11160: 144.80 sec
precision= 22344: 145.41 sec
precision= 44688: 143.26 sec
precision= 89400: 142.73 sec
precision= 178812: 142.91 sec
precision= 357648: 142.73 sec
precision= 715308: 142.98 sec
precision= 1430628: 142.87 sec
precision= 2861280: 143.06 sec
precision= 5722584: 142.82 sec
precision= 11445192: 143.80 sec
precision= 22890408: 143.07 sec
precision= 45780852: 142.97 sec
precision= 91561716: 143.07 sec
precision= 183123468: 142.96 sec
precision= 366246960: 142.86 sec
precision= 732493944: 143.09 sec
precision= 1464987924: 142.98 sec
writing pi805306368.txt...
4129.69 sec. (real time)
兩張奇怪的網圖

 |