Perf plot

This commit is contained in:
[Quy Anh] «Elliot» Nguyen
2026-06-18 11:59:50 +02:00
committed by Linus Baumberger
parent ca969564a6
commit e7af3103e8
153 changed files with 22042 additions and 24220 deletions
@@ -1,58 +1,66 @@
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
/usr/bin/g++ main-float.cpp ./variants/variant_float_inlining_SoA_AVX2_polyexp_rsqrt.cpp -o main_float_inlining_SoA_AVX2_polyexp_rsqrt -O3 -march=native -std=c++23 -Wall -Wextra -flto -DFLOPCOUNT=0 -DRANDOM_SEED=0 -DROOFLINE=0 -DBENCHMARK=1
/usr/bin/g++ main-float.cpp ./variants/variant_float_inlining_SoA_AVX2_polyexp_rsqrt_expfix.cpp -o main_float_inlining_SoA_AVX2_polyexp_rsqrt_expfix -O3 -march=native -std=c++23 -Wall -Wextra -flto -DFLOPCOUNT=0 -DRANDOM_SEED=0 -DROOFLINE=0 -DBENCHMARK=1
=== N_P=50 N_ITER=200 ===
W(n) per iteration: 183700.00 flops
Q(n) per iteration: 3256 bytes
I(n): 56.42 flops/byte
W(n): 36740000.00 flops
T(n): 3922583.00 cycles
P(n): 9.37 flops/cycle
T(n): 5075402.00 cycles
P(n): 7.24 flops/cycle
=== N_P=100 N_ITER=200 ===
W(n) per iteration: 727400.00 flops
Q(n) per iteration: 6456 bytes
I(n): 112.67 flops/byte
W(n): 145480000.00 flops
T(n): 12656640.00 cycles
P(n): 11.49 flops/cycle
T(n): 16874942.00 cycles
P(n): 8.62 flops/cycle
=== N_P=200 N_ITER=200 ===
W(n) per iteration: 2894800.00 flops
Q(n) per iteration: 12856 bytes
I(n): 225.17 flops/byte
W(n): 578960000.00 flops
T(n): 44724200.00 cycles
P(n): 12.95 flops/cycle
T(n): 60586048.00 cycles
P(n): 9.56 flops/cycle
=== N_P=500 N_ITER=200 ===
W(n) per iteration: 18037000.00 flops
Q(n) per iteration: 32056 bytes
I(n): 562.67 flops/byte
W(n): 3607399936.00 flops
T(n): 264998976.00 cycles
P(n): 13.61 flops/cycle
T(n): 363991840.00 cycles
P(n): 9.91 flops/cycle
=== N_P=1000 N_ITER=200 ===
W(n) per iteration: 72074000.00 flops
Q(n) per iteration: 64056 bytes
I(n): 1125.17 flops/byte
W(n): 14414799872.00 flops
T(n): 1051923712.00 cycles
P(n): 13.70 flops/cycle
T(n): 1424352768.00 cycles
P(n): 10.12 flops/cycle
=== N_P=2000 N_ITER=200 ===
W(n) per iteration: 288148000.00 flops
Q(n) per iteration: 128056 bytes
I(n): 2250.17 flops/byte
W(n): 57629601792.00 flops
T(n): 4077504256.00 cycles
P(n): 14.13 flops/cycle
T(n): 5638619648.00 cycles
P(n): 10.22 flops/cycle
=== N_P=5000 N_ITER=200 ===
W(n) per iteration: 1800369920.00 flops
Q(n) per iteration: 320056 bytes
I(n): 5625.17 flops/byte
W(n): 360073986048.00 flops
T(n): 25317951488.00 cycles
P(n): 14.22 flops/cycle
T(n): 35081228288.00 cycles
P(n): 10.26 flops/cycle
=== N_P=10000 N_ITER=200 ===
W(n) per iteration: 2905772800.00 flops
Q(n) per iteration: 640056 bytes
I(n): 4539.87 flops/byte
W(n): 581154570240.00 flops
T(n): 140734889984.00 cycles
P(n): 4.13 flops/cycle
@@ -1,66 +1,64 @@
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
/usr/bin/g++ main-float.cpp ./variants/variant_float_inlining_SoA_AVX2_polyexp_rsqrt.cpp -o main_float_inlining_SoA_AVX2_polyexp_rsqrt -O3 -march=native -std=c++23 -Wall -Wextra -flto -DFLOPCOUNT=0 -DRANDOM_SEED=0 -DROOFLINE=0 -DBENCHMARK=1
=== N_P=50 N_ITER=200 ===
W(n) per iteration: 183700.00 flops
Q(n) per iteration: 3256 bytes
I(n): 56.42 flops/byte
W(n): 36740000.00 flops
T(n): 3968185.50 cycles
P(n): 9.26 flops/cycle
T(n): 5095124.00 cycles
P(n): 7.21 flops/cycle
=== N_P=100 N_ITER=200 ===
W(n) per iteration: 727400.00 flops
Q(n) per iteration: 6456 bytes
I(n): 112.67 flops/byte
W(n): 145480000.00 flops
T(n): 12830122.00 cycles
P(n): 11.34 flops/cycle
T(n): 16958378.00 cycles
P(n): 8.58 flops/cycle
=== N_P=200 N_ITER=200 ===
W(n) per iteration: 2894800.00 flops
Q(n) per iteration: 12856 bytes
I(n): 225.17 flops/byte
W(n): 578960000.00 flops
T(n): 45279400.00 cycles
P(n): 12.79 flops/cycle
T(n): 60894740.00 cycles
P(n): 9.51 flops/cycle
=== N_P=500 N_ITER=200 ===
W(n) per iteration: 18037000.00 flops
Q(n) per iteration: 32056 bytes
I(n): 562.67 flops/byte
W(n): 3607399936.00 flops
T(n): 268426256.00 cycles
P(n): 13.44 flops/cycle
T(n): 364922464.00 cycles
P(n): 9.89 flops/cycle
=== N_P=1000 N_ITER=200 ===
W(n) per iteration: 72074000.00 flops
Q(n) per iteration: 64056 bytes
I(n): 1125.17 flops/byte
W(n): 14414799872.00 flops
T(n): 1064596800.00 cycles
P(n): 13.54 flops/cycle
T(n): 1432131456.00 cycles
P(n): 10.07 flops/cycle
=== N_P=2000 N_ITER=200 ===
W(n) per iteration: 288148000.00 flops
Q(n) per iteration: 128056 bytes
I(n): 2250.17 flops/byte
W(n): 57629601792.00 flops
T(n): 4126754304.00 cycles
P(n): 13.96 flops/cycle
T(n): 5669585408.00 cycles
P(n): 10.16 flops/cycle
=== N_P=5000 N_ITER=200 ===
W(n) per iteration: 1800369920.00 flops
Q(n) per iteration: 320056 bytes
I(n): 5625.17 flops/byte
W(n): 360073986048.00 flops
T(n): 25623275520.00 cycles
P(n): 14.05 flops/cycle
T(n): 35706060800.00 cycles
P(n): 10.08 flops/cycle
=== N_P=10000 N_ITER=200 ===
W(n) per iteration: 2905772800.00 flops
Q(n) per iteration: 640056 bytes
I(n): 4539.87 flops/byte
W(n): 581154570240.00 flops
T(n): 102223626240.00 cycles
P(n): 5.69 flops/cycle
T(n): 143150546944.00 cycles
P(n): 4.06 flops/cycle
@@ -0,0 +1,64 @@
=== N_P=50 N_ITER=200 ===
W(n) per iteration: 183700.00 flops
Q(n) per iteration: 3256 bytes
I(n): 56.42 flops/byte
W(n): 36740000.00 flops
T(n): 5107488.00 cycles
P(n): 7.19 flops/cycle
=== N_P=100 N_ITER=200 ===
W(n) per iteration: 727400.00 flops
Q(n) per iteration: 6456 bytes
I(n): 112.67 flops/byte
W(n): 145480000.00 flops
T(n): 16972588.00 cycles
P(n): 8.57 flops/cycle
=== N_P=200 N_ITER=200 ===
W(n) per iteration: 2894800.00 flops
Q(n) per iteration: 12856 bytes
I(n): 225.17 flops/byte
W(n): 578960000.00 flops
T(n): 61120552.00 cycles
P(n): 9.47 flops/cycle
=== N_P=500 N_ITER=200 ===
W(n) per iteration: 18037000.00 flops
Q(n) per iteration: 32056 bytes
I(n): 562.67 flops/byte
W(n): 3607399936.00 flops
T(n): 375650720.00 cycles
P(n): 9.60 flops/cycle
=== N_P=1000 N_ITER=200 ===
W(n) per iteration: 72074000.00 flops
Q(n) per iteration: 64056 bytes
I(n): 1125.17 flops/byte
W(n): 14414799872.00 flops
T(n): 1444334464.00 cycles
P(n): 9.98 flops/cycle
=== N_P=2000 N_ITER=200 ===
W(n) per iteration: 288148000.00 flops
Q(n) per iteration: 128056 bytes
I(n): 2250.17 flops/byte
W(n): 57629601792.00 flops
T(n): 5717088768.00 cycles
P(n): 10.08 flops/cycle
=== N_P=5000 N_ITER=200 ===
W(n) per iteration: 1800369920.00 flops
Q(n) per iteration: 320056 bytes
I(n): 5625.17 flops/byte
W(n): 360073986048.00 flops
T(n): 36025249792.00 cycles
P(n): 10.00 flops/cycle
=== N_P=10000 N_ITER=200 ===
W(n) per iteration: 2905772800.00 flops
Q(n) per iteration: 640056 bytes
I(n): 4539.87 flops/byte
W(n): 581154570240.00 flops
T(n): 143378251776.00 cycles
P(n): 4.05 flops/cycle