Ahmed moreilp

This commit is contained in:
Ahmed Kallala
2026-06-18 08:36:11 +02:00
committed by Linus Baumberger
parent 6cbb8121a7
commit 460c445671
4 changed files with 803 additions and 15 deletions
@@ -1,58 +1,66 @@
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
sudo /usr/bin/g++ main-float.cpp ./variants/variant_float_inlining_SoA_NEON_polyexp_moreavx_ilp_2_rsqrt_morrsqrt.cpp -o main_float_inlining_SoA_NEON_polyexp_moreavx_ilp_2_rsqrt_morrsqrt -O3 -march=native -std=c++23 -Wall -Wextra -flto -DFLOPCOUNT=0 -DRANDOM_SEED=0 -DROOFLINE=0 -DBENCHMARK=1
sudo /usr/bin/g++ main-float.cpp ./variants/variant_float_inlining_SoA_NEON_polyexp_morevect_ilp_2_rsqrt_morersqrt_expfix.cpp -o main_float_inlining_SoA_NEON_polyexp_morevect_ilp_2_rsqrt_morersqrt_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): 4492093.50 cycles
P(n): 8.18 flops/cycle
T(n): 5891612.50 cycles
P(n): 6.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): 15717616.00 cycles
P(n): 9.26 flops/cycle
T(n): 20903770.00 cycles
P(n): 6.96 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): 58648184.00 cycles
P(n): 9.87 flops/cycle
T(n): 78269008.00 cycles
P(n): 7.40 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): 359248768.00 cycles
P(n): 10.04 flops/cycle
T(n): 484667776.00 cycles
P(n): 7.44 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): 1415209856.00 cycles
P(n): 10.19 flops/cycle
T(n): 1917664384.00 cycles
P(n): 7.52 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): 5657639936.00 cycles
P(n): 10.19 flops/cycle
T(n): 7683078656.00 cycles
P(n): 7.50 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): 35147825152.00 cycles
P(n): 10.24 flops/cycle
T(n): 48221761536.00 cycles
P(n): 7.47 flops/cycle
=== N_P=10000 N_ITER=200 ===
W(n) per iteration: 7200739840.00 flops
Q(n) per iteration: 640056 bytes
I(n): 11250.17 flops/byte
W(n): 1440147963904.00 flops
T(n): 222472847360.00 cycles
P(n): 6.47 flops/cycle
@@ -0,0 +1,66 @@
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
sudo /usr/bin/g++ main-float.cpp ./variants/variant_float_inlining_SoA_NEON_polyexp_morevect_ilp_2_rsqrt_morersqrt_expfix.cpp -o main_float_inlining_SoA_NEON_polyexp_morevect_ilp_2_rsqrt_morersqrt_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): 5881106.00 cycles
P(n): 6.25 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): 20868150.00 cycles
P(n): 6.97 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): 78350920.00 cycles
P(n): 7.39 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): 484657088.00 cycles
P(n): 7.44 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): 1920107648.00 cycles
P(n): 7.51 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): 7641970176.00 cycles
P(n): 7.54 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): 47656402944.00 cycles
P(n): 7.56 flops/cycle
=== N_P=10000 N_ITER=200 ===
W(n) per iteration: 7200739840.00 flops
Q(n) per iteration: 640056 bytes
I(n): 11250.17 flops/byte
W(n): 1440147963904.00 flops
T(n): 221504274432.00 cycles
P(n): 6.50 flops/cycle
@@ -0,0 +1,66 @@
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
sudo /usr/bin/g++ main-float.cpp ./variants/variant_float_inlining_SoA_NEON_polyexp_morevect_ilp_2_rsqrt_morersqrt_expfix.cpp -o main_float_inlining_SoA_NEON_polyexp_morevect_ilp_2_rsqrt_morersqrt_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): 5887339.50 cycles
P(n): 6.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): 20857236.00 cycles
P(n): 6.98 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): 78339488.00 cycles
P(n): 7.39 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): 483592896.00 cycles
P(n): 7.46 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): 1918282240.00 cycles
P(n): 7.51 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): 7707683840.00 cycles
P(n): 7.48 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): 47889321984.00 cycles
P(n): 7.52 flops/cycle
=== N_P=10000 N_ITER=200 ===
W(n) per iteration: 7200739840.00 flops
Q(n) per iteration: 640056 bytes
I(n): 11250.17 flops/byte
W(n): 1440147963904.00 flops
T(n): 221847699456.00 cycles
P(n): 6.49 flops/cycle