Measurements arm
This commit is contained in:
committed by
Linus Baumberger
parent
e76a850b31
commit
f668e3c5bf
@@ -0,0 +1,52 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main.cpp ./variants/variant_baseline.cpp -o main_baseline -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: 6512 bytes
|
||||
I(n): 28.21 flops/byte
|
||||
W(n): 36740000.00 flops
|
||||
T(n): 18154426.88 cycles
|
||||
P(n): 2.02 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 727400.00 flops
|
||||
Q(n) per iteration: 12912 bytes
|
||||
I(n): 56.34 flops/byte
|
||||
W(n): 145480000.00 flops
|
||||
T(n): 74812980.50 cycles
|
||||
P(n): 1.94 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 2894800.00 flops
|
||||
Q(n) per iteration: 25712 bytes
|
||||
I(n): 112.59 flops/byte
|
||||
W(n): 578960000.00 flops
|
||||
T(n): 322910201.00 cycles
|
||||
P(n): 1.79 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 72074000.00 flops
|
||||
Q(n) per iteration: 128112 bytes
|
||||
I(n): 562.59 flops/byte
|
||||
W(n): 14414800000.00 flops
|
||||
T(n): 9012317356.00 cycles
|
||||
P(n): 1.60 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 288148000.00 flops
|
||||
Q(n) per iteration: 256112 bytes
|
||||
I(n): 1125.09 flops/byte
|
||||
W(n): 57629600000.00 flops
|
||||
T(n): 37090810409.00 cycles
|
||||
P(n): 1.55 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 1800370000.00 flops
|
||||
Q(n) per iteration: 640112 bytes
|
||||
I(n): 2812.59 flops/byte
|
||||
W(n): 360074000000.00 flops
|
||||
T(n): 234807270918.00 cycles
|
||||
P(n): 1.53 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main.cpp ./variants/variant_branchless.cpp -o main_branchless -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: 6512 bytes
|
||||
I(n): 28.21 flops/byte
|
||||
W(n): 36740000.00 flops
|
||||
T(n): 16997520.38 cycles
|
||||
P(n): 2.16 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 727400.00 flops
|
||||
Q(n) per iteration: 12912 bytes
|
||||
I(n): 56.34 flops/byte
|
||||
W(n): 145480000.00 flops
|
||||
T(n): 67764539.00 cycles
|
||||
P(n): 2.15 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 2894800.00 flops
|
||||
Q(n) per iteration: 25712 bytes
|
||||
I(n): 112.59 flops/byte
|
||||
W(n): 578960000.00 flops
|
||||
T(n): 269251877.00 cycles
|
||||
P(n): 2.15 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 18037000.00 flops
|
||||
Q(n) per iteration: 64112 bytes
|
||||
I(n): 281.34 flops/byte
|
||||
W(n): 3607400000.00 flops
|
||||
T(n): 1667878996.00 cycles
|
||||
P(n): 2.16 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 72074000.00 flops
|
||||
Q(n) per iteration: 128112 bytes
|
||||
I(n): 562.59 flops/byte
|
||||
W(n): 14414800000.00 flops
|
||||
T(n): 6785785070.00 cycles
|
||||
P(n): 2.12 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 288148000.00 flops
|
||||
Q(n) per iteration: 256112 bytes
|
||||
I(n): 1125.09 flops/byte
|
||||
W(n): 57629600000.00 flops
|
||||
T(n): 26925708355.00 cycles
|
||||
P(n): 2.14 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 1800370000.00 flops
|
||||
Q(n) per iteration: 640112 bytes
|
||||
I(n): 2812.59 flops/byte
|
||||
W(n): 360074000000.00 flops
|
||||
T(n): 167430181147.00 cycles
|
||||
P(n): 2.15 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main.cpp ./variants/variant_branchless_sqrtfree.cpp -o main_branchless_sqrtfree -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: 6512 bytes
|
||||
I(n): 28.21 flops/byte
|
||||
W(n): 36740000.00 flops
|
||||
T(n): 17385705.00 cycles
|
||||
P(n): 2.11 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 727400.00 flops
|
||||
Q(n) per iteration: 12912 bytes
|
||||
I(n): 56.34 flops/byte
|
||||
W(n): 145480000.00 flops
|
||||
T(n): 66976913.50 cycles
|
||||
P(n): 2.17 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 2894800.00 flops
|
||||
Q(n) per iteration: 25712 bytes
|
||||
I(n): 112.59 flops/byte
|
||||
W(n): 578960000.00 flops
|
||||
T(n): 266594191.00 cycles
|
||||
P(n): 2.17 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 18037000.00 flops
|
||||
Q(n) per iteration: 64112 bytes
|
||||
I(n): 281.34 flops/byte
|
||||
W(n): 3607400000.00 flops
|
||||
T(n): 1659465829.00 cycles
|
||||
P(n): 2.17 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 72074000.00 flops
|
||||
Q(n) per iteration: 128112 bytes
|
||||
I(n): 562.59 flops/byte
|
||||
W(n): 14414800000.00 flops
|
||||
T(n): 6723368454.00 cycles
|
||||
P(n): 2.14 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 288148000.00 flops
|
||||
Q(n) per iteration: 256112 bytes
|
||||
I(n): 1125.09 flops/byte
|
||||
W(n): 57629600000.00 flops
|
||||
T(n): 26939978394.00 cycles
|
||||
P(n): 2.14 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 1800370000.00 flops
|
||||
Q(n) per iteration: 640112 bytes
|
||||
I(n): 2812.59 flops/byte
|
||||
W(n): 360074000000.00 flops
|
||||
T(n): 166305320990.00 cycles
|
||||
P(n): 2.17 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main.cpp ./variants/variant_cutoff.cpp -o main_cutoff -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: 6512 bytes
|
||||
I(n): 28.21 flops/byte
|
||||
W(n): 36740000.00 flops
|
||||
T(n): 8713477.81 cycles
|
||||
P(n): 4.22 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 727400.00 flops
|
||||
Q(n) per iteration: 12912 bytes
|
||||
I(n): 56.34 flops/byte
|
||||
W(n): 145480000.00 flops
|
||||
T(n): 40792521.50 cycles
|
||||
P(n): 3.57 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 2894800.00 flops
|
||||
Q(n) per iteration: 25712 bytes
|
||||
I(n): 112.59 flops/byte
|
||||
W(n): 578960000.00 flops
|
||||
T(n): 132995997.00 cycles
|
||||
P(n): 4.35 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 18037000.00 flops
|
||||
Q(n) per iteration: 64112 bytes
|
||||
I(n): 281.34 flops/byte
|
||||
W(n): 3607400000.00 flops
|
||||
T(n): 813430901.00 cycles
|
||||
P(n): 4.43 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 72074000.00 flops
|
||||
Q(n) per iteration: 128112 bytes
|
||||
I(n): 562.59 flops/byte
|
||||
W(n): 14414800000.00 flops
|
||||
T(n): 3155176718.00 cycles
|
||||
P(n): 4.57 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 288148000.00 flops
|
||||
Q(n) per iteration: 256112 bytes
|
||||
I(n): 1125.09 flops/byte
|
||||
W(n): 57629600000.00 flops
|
||||
T(n): 12638893219.00 cycles
|
||||
P(n): 4.56 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 1800370000.00 flops
|
||||
Q(n) per iteration: 640112 bytes
|
||||
I(n): 2812.59 flops/byte
|
||||
W(n): 360074000000.00 flops
|
||||
T(n): 76387953469.00 cycles
|
||||
P(n): 4.71 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main.cpp ./variants/variant_cutoff_callsite.cpp -o main_cutoff_callsite -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: 6512 bytes
|
||||
I(n): 28.21 flops/byte
|
||||
W(n): 36740000.00 flops
|
||||
T(n): 9210738.56 cycles
|
||||
P(n): 3.99 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 727400.00 flops
|
||||
Q(n) per iteration: 12912 bytes
|
||||
I(n): 56.34 flops/byte
|
||||
W(n): 145480000.00 flops
|
||||
T(n): 43525263.50 cycles
|
||||
P(n): 3.34 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 2894800.00 flops
|
||||
Q(n) per iteration: 25712 bytes
|
||||
I(n): 112.59 flops/byte
|
||||
W(n): 578960000.00 flops
|
||||
T(n): 141467337.00 cycles
|
||||
P(n): 4.09 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 18037000.00 flops
|
||||
Q(n) per iteration: 64112 bytes
|
||||
I(n): 281.34 flops/byte
|
||||
W(n): 3607400000.00 flops
|
||||
T(n): 870479259.00 cycles
|
||||
P(n): 4.14 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 72074000.00 flops
|
||||
Q(n) per iteration: 128112 bytes
|
||||
I(n): 562.59 flops/byte
|
||||
W(n): 14414800000.00 flops
|
||||
T(n): 3340600189.00 cycles
|
||||
P(n): 4.32 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 288148000.00 flops
|
||||
Q(n) per iteration: 256112 bytes
|
||||
I(n): 1125.09 flops/byte
|
||||
W(n): 57629600000.00 flops
|
||||
T(n): 13325615778.00 cycles
|
||||
P(n): 4.32 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 1800370000.00 flops
|
||||
Q(n) per iteration: 640112 bytes
|
||||
I(n): 2812.59 flops/byte
|
||||
W(n): 360074000000.00 flops
|
||||
T(n): 79881699571.00 cycles
|
||||
P(n): 4.51 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
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_baseline.cpp -o main_float_baseline -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): 12278939.00 cycles
|
||||
P(n): 2.99 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): 49596532.00 cycles
|
||||
P(n): 2.93 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): 203275376.00 cycles
|
||||
P(n): 2.85 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): 1414936832.00 cycles
|
||||
P(n): 2.55 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): 6075253248.00 cycles
|
||||
P(n): 2.37 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): 26570563584.00 cycles
|
||||
P(n): 2.17 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): 194256240640.00 cycles
|
||||
P(n): 1.85 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
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.cpp -o main_float_inlining -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): 10775829.00 cycles
|
||||
P(n): 3.41 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): 47963000.00 cycles
|
||||
P(n): 3.03 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): 190335120.00 cycles
|
||||
P(n): 3.04 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): 1412006400.00 cycles
|
||||
P(n): 2.55 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): 6137234944.00 cycles
|
||||
P(n): 2.35 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): 27256184832.00 cycles
|
||||
P(n): 2.11 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): 194280062976.00 cycles
|
||||
P(n): 1.85 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
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.cpp -o main_float_inlining_SoA -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): 11407106.00 cycles
|
||||
P(n): 3.22 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): 45941640.00 cycles
|
||||
P(n): 3.17 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): 175844320.00 cycles
|
||||
P(n): 3.29 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): 1161542784.00 cycles
|
||||
P(n): 3.11 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): 4913180160.00 cycles
|
||||
P(n): 2.93 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): 21352656896.00 cycles
|
||||
P(n): 2.70 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): 153264947200.00 cycles
|
||||
P(n): 2.35 flops/cycle
|
||||
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
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
|
||||
=== 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
|
||||
|
||||
=== 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
|
||||
|
||||
=== 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
|
||||
|
||||
=== 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
|
||||
|
||||
=== 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
|
||||
|
||||
=== 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
|
||||
|
||||
=== 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
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main-float_symmetry.cpp ./variants/variant_float_inlining_SoA_symmetry.cpp -o main_float_inlining_SoA_symmetry -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: 95500.00 flops
|
||||
Q(n) per iteration: 3256 bytes
|
||||
I(n): 29.33 flops/byte
|
||||
W(n): 19100000.00 flops
|
||||
T(n): 12284355.00 cycles
|
||||
P(n): 1.55 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 371000.00 flops
|
||||
Q(n) per iteration: 6456 bytes
|
||||
I(n): 57.47 flops/byte
|
||||
W(n): 74200000.00 flops
|
||||
T(n): 50450768.00 cycles
|
||||
P(n): 1.47 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 1462000.00 flops
|
||||
Q(n) per iteration: 12856 bytes
|
||||
I(n): 113.72 flops/byte
|
||||
W(n): 292400000.00 flops
|
||||
T(n): 206580544.00 cycles
|
||||
P(n): 1.42 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 9055000.00 flops
|
||||
Q(n) per iteration: 32056 bytes
|
||||
I(n): 282.47 flops/byte
|
||||
W(n): 1811000064.00 flops
|
||||
T(n): 1437377152.00 cycles
|
||||
P(n): 1.26 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 36110000.00 flops
|
||||
Q(n) per iteration: 64056 bytes
|
||||
I(n): 563.73 flops/byte
|
||||
W(n): 7222000128.00 flops
|
||||
T(n): 6982579200.00 cycles
|
||||
P(n): 1.03 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 144220000.00 flops
|
||||
Q(n) per iteration: 128056 bytes
|
||||
I(n): 1126.23 flops/byte
|
||||
W(n): 28843999232.00 flops
|
||||
T(n): 32683665408.00 cycles
|
||||
P(n): 0.88 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 900550016.00 flops
|
||||
Q(n) per iteration: 320056 bytes
|
||||
I(n): 2813.73 flops/byte
|
||||
W(n): 180110000128.00 flops
|
||||
T(n): 232878047232.00 cycles
|
||||
P(n): 0.77 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main-float_symmetry.cpp ./variants/variant_float_inlining_SoA_symmetry_ILP_16.cpp -o main_float_inlining_SoA_symmetry_ILP_16 -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: 95500.00 flops
|
||||
Q(n) per iteration: 3256 bytes
|
||||
I(n): 29.33 flops/byte
|
||||
W(n): 19100000.00 flops
|
||||
T(n): 9097177.00 cycles
|
||||
P(n): 2.10 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 371000.00 flops
|
||||
Q(n) per iteration: 6456 bytes
|
||||
I(n): 57.47 flops/byte
|
||||
W(n): 74200000.00 flops
|
||||
T(n): 33503178.00 cycles
|
||||
P(n): 2.21 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 1462000.00 flops
|
||||
Q(n) per iteration: 12856 bytes
|
||||
I(n): 113.72 flops/byte
|
||||
W(n): 292400000.00 flops
|
||||
T(n): 118530416.00 cycles
|
||||
P(n): 2.47 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 9055000.00 flops
|
||||
Q(n) per iteration: 32056 bytes
|
||||
I(n): 282.47 flops/byte
|
||||
W(n): 1811000064.00 flops
|
||||
T(n): 684755776.00 cycles
|
||||
P(n): 2.64 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 36110000.00 flops
|
||||
Q(n) per iteration: 64056 bytes
|
||||
I(n): 563.73 flops/byte
|
||||
W(n): 7222000128.00 flops
|
||||
T(n): 2936483584.00 cycles
|
||||
P(n): 2.46 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 144220000.00 flops
|
||||
Q(n) per iteration: 128056 bytes
|
||||
I(n): 1126.23 flops/byte
|
||||
W(n): 28843999232.00 flops
|
||||
T(n): 12939599872.00 cycles
|
||||
P(n): 2.23 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 900550016.00 flops
|
||||
Q(n) per iteration: 320056 bytes
|
||||
I(n): 2813.73 flops/byte
|
||||
W(n): 180110000128.00 flops
|
||||
T(n): 156191883264.00 cycles
|
||||
P(n): 1.15 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main-float_symmetry.cpp ./variants/variant_float_inlining_SoA_symmetry_ILP_2.cpp -o main_float_inlining_SoA_symmetry_ILP_2 -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: 95500.00 flops
|
||||
Q(n) per iteration: 3256 bytes
|
||||
I(n): 29.33 flops/byte
|
||||
W(n): 19100000.00 flops
|
||||
T(n): 9170654.00 cycles
|
||||
P(n): 2.08 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 371000.00 flops
|
||||
Q(n) per iteration: 6456 bytes
|
||||
I(n): 57.47 flops/byte
|
||||
W(n): 74200000.00 flops
|
||||
T(n): 33103448.00 cycles
|
||||
P(n): 2.24 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 1462000.00 flops
|
||||
Q(n) per iteration: 12856 bytes
|
||||
I(n): 113.72 flops/byte
|
||||
W(n): 292400000.00 flops
|
||||
T(n): 123532256.00 cycles
|
||||
P(n): 2.37 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 9055000.00 flops
|
||||
Q(n) per iteration: 32056 bytes
|
||||
I(n): 282.47 flops/byte
|
||||
W(n): 1811000064.00 flops
|
||||
T(n): 768825216.00 cycles
|
||||
P(n): 2.36 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 36110000.00 flops
|
||||
Q(n) per iteration: 64056 bytes
|
||||
I(n): 563.73 flops/byte
|
||||
W(n): 7222000128.00 flops
|
||||
T(n): 3933374208.00 cycles
|
||||
P(n): 1.84 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 144220000.00 flops
|
||||
Q(n) per iteration: 128056 bytes
|
||||
I(n): 1126.23 flops/byte
|
||||
W(n): 28843999232.00 flops
|
||||
T(n): 18220894208.00 cycles
|
||||
P(n): 1.58 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 900550016.00 flops
|
||||
Q(n) per iteration: 320056 bytes
|
||||
I(n): 2813.73 flops/byte
|
||||
W(n): 180110000128.00 flops
|
||||
T(n): 154008551424.00 cycles
|
||||
P(n): 1.17 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main-float_symmetry.cpp ./variants/variant_float_inlining_SoA_symmetry_ILP_4.cpp -o main_float_inlining_SoA_symmetry_ILP_4 -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: 95500.00 flops
|
||||
Q(n) per iteration: 3256 bytes
|
||||
I(n): 29.33 flops/byte
|
||||
W(n): 19100000.00 flops
|
||||
T(n): 9431654.00 cycles
|
||||
P(n): 2.03 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 371000.00 flops
|
||||
Q(n) per iteration: 6456 bytes
|
||||
I(n): 57.47 flops/byte
|
||||
W(n): 74200000.00 flops
|
||||
T(n): 33563136.00 cycles
|
||||
P(n): 2.21 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 1462000.00 flops
|
||||
Q(n) per iteration: 12856 bytes
|
||||
I(n): 113.72 flops/byte
|
||||
W(n): 292400000.00 flops
|
||||
T(n): 118019376.00 cycles
|
||||
P(n): 2.48 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 9055000.00 flops
|
||||
Q(n) per iteration: 32056 bytes
|
||||
I(n): 282.47 flops/byte
|
||||
W(n): 1811000064.00 flops
|
||||
T(n): 678422208.00 cycles
|
||||
P(n): 2.67 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 36110000.00 flops
|
||||
Q(n) per iteration: 64056 bytes
|
||||
I(n): 563.73 flops/byte
|
||||
W(n): 7222000128.00 flops
|
||||
T(n): 2959266048.00 cycles
|
||||
P(n): 2.44 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 144220000.00 flops
|
||||
Q(n) per iteration: 128056 bytes
|
||||
I(n): 1126.23 flops/byte
|
||||
W(n): 28843999232.00 flops
|
||||
T(n): 12601305088.00 cycles
|
||||
P(n): 2.29 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 900550016.00 flops
|
||||
Q(n) per iteration: 320056 bytes
|
||||
I(n): 2813.73 flops/byte
|
||||
W(n): 180110000128.00 flops
|
||||
T(n): 144715956224.00 cycles
|
||||
P(n): 1.24 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main-float_symmetry.cpp ./variants/variant_float_inlining_SoA_symmetry_ILP_8.cpp -o main_float_inlining_SoA_symmetry_ILP_8 -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: 95500.00 flops
|
||||
Q(n) per iteration: 3256 bytes
|
||||
I(n): 29.33 flops/byte
|
||||
W(n): 19100000.00 flops
|
||||
T(n): 8858727.00 cycles
|
||||
P(n): 2.16 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 371000.00 flops
|
||||
Q(n) per iteration: 6456 bytes
|
||||
I(n): 57.47 flops/byte
|
||||
W(n): 74200000.00 flops
|
||||
T(n): 35191192.00 cycles
|
||||
P(n): 2.11 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 1462000.00 flops
|
||||
Q(n) per iteration: 12856 bytes
|
||||
I(n): 113.72 flops/byte
|
||||
W(n): 292400000.00 flops
|
||||
T(n): 136348512.00 cycles
|
||||
P(n): 2.14 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 9055000.00 flops
|
||||
Q(n) per iteration: 32056 bytes
|
||||
I(n): 282.47 flops/byte
|
||||
W(n): 1811000064.00 flops
|
||||
T(n): 881212544.00 cycles
|
||||
P(n): 2.06 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 36110000.00 flops
|
||||
Q(n) per iteration: 64056 bytes
|
||||
I(n): 563.73 flops/byte
|
||||
W(n): 7222000128.00 flops
|
||||
T(n): 4358949376.00 cycles
|
||||
P(n): 1.66 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 144220000.00 flops
|
||||
Q(n) per iteration: 128056 bytes
|
||||
I(n): 1126.23 flops/byte
|
||||
W(n): 28843999232.00 flops
|
||||
T(n): 19275378688.00 cycles
|
||||
P(n): 1.50 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 900550016.00 flops
|
||||
Q(n) per iteration: 320056 bytes
|
||||
I(n): 2813.73 flops/byte
|
||||
W(n): 180110000128.00 flops
|
||||
T(n): 158142201856.00 cycles
|
||||
P(n): 1.14 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main.cpp ./variants/variant_inlining_7.cpp -o main_inlining_7 -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: 6512 bytes
|
||||
I(n): 28.21 flops/byte
|
||||
W(n): 36740000.00 flops
|
||||
T(n): 16465719.25 cycles
|
||||
P(n): 2.23 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 727400.00 flops
|
||||
Q(n) per iteration: 12912 bytes
|
||||
I(n): 56.34 flops/byte
|
||||
W(n): 145480000.00 flops
|
||||
T(n): 68986819.50 cycles
|
||||
P(n): 2.11 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 2894800.00 flops
|
||||
Q(n) per iteration: 25712 bytes
|
||||
I(n): 112.59 flops/byte
|
||||
W(n): 578960000.00 flops
|
||||
T(n): 296100633.00 cycles
|
||||
P(n): 1.96 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 18037000.00 flops
|
||||
Q(n) per iteration: 64112 bytes
|
||||
I(n): 281.34 flops/byte
|
||||
W(n): 3607400000.00 flops
|
||||
T(n): 2015322383.00 cycles
|
||||
P(n): 1.79 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 72074000.00 flops
|
||||
Q(n) per iteration: 128112 bytes
|
||||
I(n): 562.59 flops/byte
|
||||
W(n): 14414800000.00 flops
|
||||
T(n): 8425401169.00 cycles
|
||||
P(n): 1.71 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 288148000.00 flops
|
||||
Q(n) per iteration: 256112 bytes
|
||||
I(n): 1125.09 flops/byte
|
||||
W(n): 57629600000.00 flops
|
||||
T(n): 35087107382.00 cycles
|
||||
P(n): 1.64 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 1800370000.00 flops
|
||||
Q(n) per iteration: 640112 bytes
|
||||
I(n): 2812.59 flops/byte
|
||||
W(n): 360074000000.00 flops
|
||||
T(n): 225285744034.00 cycles
|
||||
P(n): 1.60 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main.cpp ./variants/variant_inlining_7_SoA.cpp -o main_inlining_7_SoA -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: 6512 bytes
|
||||
I(n): 28.21 flops/byte
|
||||
W(n): 36740000.00 flops
|
||||
T(n): 15734093.62 cycles
|
||||
P(n): 2.34 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 727400.00 flops
|
||||
Q(n) per iteration: 12912 bytes
|
||||
I(n): 56.34 flops/byte
|
||||
W(n): 145480000.00 flops
|
||||
T(n): 63384057.50 cycles
|
||||
P(n): 2.30 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 2894800.00 flops
|
||||
Q(n) per iteration: 25712 bytes
|
||||
I(n): 112.59 flops/byte
|
||||
W(n): 578960000.00 flops
|
||||
T(n): 258485217.00 cycles
|
||||
P(n): 2.24 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 18037000.00 flops
|
||||
Q(n) per iteration: 64112 bytes
|
||||
I(n): 281.34 flops/byte
|
||||
W(n): 3607400000.00 flops
|
||||
T(n): 1806293743.00 cycles
|
||||
P(n): 2.00 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 72074000.00 flops
|
||||
Q(n) per iteration: 128112 bytes
|
||||
I(n): 562.59 flops/byte
|
||||
W(n): 14414800000.00 flops
|
||||
T(n): 7331209997.00 cycles
|
||||
P(n): 1.97 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 288148000.00 flops
|
||||
Q(n) per iteration: 256112 bytes
|
||||
I(n): 1125.09 flops/byte
|
||||
W(n): 57629600000.00 flops
|
||||
T(n): 31741034397.00 cycles
|
||||
P(n): 1.82 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 1800370000.00 flops
|
||||
Q(n) per iteration: 640112 bytes
|
||||
I(n): 2812.59 flops/byte
|
||||
W(n): 360074000000.00 flops
|
||||
T(n): 228332189160.00 cycles
|
||||
P(n): 1.58 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main-symmetry.cpp ./variants/variant_inlining_7_symmetry_1.cpp -o main_inlining_7_symmetry_1 -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: 95500.00 flops
|
||||
Q(n) per iteration: 6512 bytes
|
||||
I(n): 14.67 flops/byte
|
||||
W(n): 19100000.00 flops
|
||||
T(n): 16259793.62 cycles
|
||||
P(n): 1.17 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 371000.00 flops
|
||||
Q(n) per iteration: 12912 bytes
|
||||
I(n): 28.73 flops/byte
|
||||
W(n): 74200000.00 flops
|
||||
T(n): 65726236.50 cycles
|
||||
P(n): 1.13 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 1462000.00 flops
|
||||
Q(n) per iteration: 25712 bytes
|
||||
I(n): 56.86 flops/byte
|
||||
W(n): 292400000.00 flops
|
||||
T(n): 279432230.00 cycles
|
||||
P(n): 1.05 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 9055000.00 flops
|
||||
Q(n) per iteration: 64112 bytes
|
||||
I(n): 141.24 flops/byte
|
||||
W(n): 1811000000.00 flops
|
||||
T(n): 2173883627.00 cycles
|
||||
P(n): 0.83 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 36110000.00 flops
|
||||
Q(n) per iteration: 128112 bytes
|
||||
I(n): 281.86 flops/byte
|
||||
W(n): 7222000000.00 flops
|
||||
T(n): 9352805794.00 cycles
|
||||
P(n): 0.77 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 144220000.00 flops
|
||||
Q(n) per iteration: 256112 bytes
|
||||
I(n): 563.11 flops/byte
|
||||
W(n): 28844000000.00 flops
|
||||
T(n): 41809462783.00 cycles
|
||||
P(n): 0.69 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 900550000.00 flops
|
||||
Q(n) per iteration: 640112 bytes
|
||||
I(n): 1406.86 flops/byte
|
||||
W(n): 180110000000.00 flops
|
||||
T(n): 284419980420.00 cycles
|
||||
P(n): 0.63 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main-symmetry.cpp ./variants/variant_inlining_7_symmetry_2.cpp -o main_inlining_7_symmetry_2 -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: 95500.00 flops
|
||||
Q(n) per iteration: 6512 bytes
|
||||
I(n): 14.67 flops/byte
|
||||
W(n): 19100000.00 flops
|
||||
T(n): 16243406.75 cycles
|
||||
P(n): 1.18 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 371000.00 flops
|
||||
Q(n) per iteration: 12912 bytes
|
||||
I(n): 28.73 flops/byte
|
||||
W(n): 74200000.00 flops
|
||||
T(n): 66097465.00 cycles
|
||||
P(n): 1.12 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 1462000.00 flops
|
||||
Q(n) per iteration: 25712 bytes
|
||||
I(n): 56.86 flops/byte
|
||||
W(n): 292400000.00 flops
|
||||
T(n): 285031402.00 cycles
|
||||
P(n): 1.03 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 9055000.00 flops
|
||||
Q(n) per iteration: 64112 bytes
|
||||
I(n): 141.24 flops/byte
|
||||
W(n): 1811000000.00 flops
|
||||
T(n): 2157696662.00 cycles
|
||||
P(n): 0.84 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 36110000.00 flops
|
||||
Q(n) per iteration: 128112 bytes
|
||||
I(n): 281.86 flops/byte
|
||||
W(n): 7222000000.00 flops
|
||||
T(n): 9630862508.00 cycles
|
||||
P(n): 0.75 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 144220000.00 flops
|
||||
Q(n) per iteration: 256112 bytes
|
||||
I(n): 563.11 flops/byte
|
||||
W(n): 28844000000.00 flops
|
||||
T(n): 41773155034.00 cycles
|
||||
P(n): 0.69 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 900550000.00 flops
|
||||
Q(n) per iteration: 640112 bytes
|
||||
I(n): 1406.86 flops/byte
|
||||
W(n): 180110000000.00 flops
|
||||
T(n): 276672447552.00 cycles
|
||||
P(n): 0.65 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main-symmetry.cpp ./variants/variant_inlining_7_symmetry_2_ilp_1.cpp -o main_inlining_7_symmetry_2_ilp_1 -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: 95500.00 flops
|
||||
Q(n) per iteration: 6512 bytes
|
||||
I(n): 14.67 flops/byte
|
||||
W(n): 19100000.00 flops
|
||||
T(n): 16213663.88 cycles
|
||||
P(n): 1.18 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 371000.00 flops
|
||||
Q(n) per iteration: 12912 bytes
|
||||
I(n): 28.73 flops/byte
|
||||
W(n): 74200000.00 flops
|
||||
T(n): 64706500.00 cycles
|
||||
P(n): 1.15 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 1462000.00 flops
|
||||
Q(n) per iteration: 25712 bytes
|
||||
I(n): 56.86 flops/byte
|
||||
W(n): 292400000.00 flops
|
||||
T(n): 266479325.00 cycles
|
||||
P(n): 1.10 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 9055000.00 flops
|
||||
Q(n) per iteration: 64112 bytes
|
||||
I(n): 141.24 flops/byte
|
||||
W(n): 1811000000.00 flops
|
||||
T(n): 1860823343.00 cycles
|
||||
P(n): 0.97 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 36110000.00 flops
|
||||
Q(n) per iteration: 128112 bytes
|
||||
I(n): 281.86 flops/byte
|
||||
W(n): 7222000000.00 flops
|
||||
T(n): 8047713694.00 cycles
|
||||
P(n): 0.90 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 144220000.00 flops
|
||||
Q(n) per iteration: 256112 bytes
|
||||
I(n): 563.11 flops/byte
|
||||
W(n): 28844000000.00 flops
|
||||
T(n): 35415664148.00 cycles
|
||||
P(n): 0.81 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 900550000.00 flops
|
||||
Q(n) per iteration: 640112 bytes
|
||||
I(n): 1406.86 flops/byte
|
||||
W(n): 180110000000.00 flops
|
||||
T(n): 188828167800.00 cycles
|
||||
P(n): 0.95 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main-symmetry.cpp ./variants/variant_inlining_7_symmetry_2_ilp_2.cpp -o main_inlining_7_symmetry_2_ilp_2 -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: 95500.00 flops
|
||||
Q(n) per iteration: 6512 bytes
|
||||
I(n): 14.67 flops/byte
|
||||
W(n): 19100000.00 flops
|
||||
T(n): 16951060.50 cycles
|
||||
P(n): 1.13 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 371000.00 flops
|
||||
Q(n) per iteration: 12912 bytes
|
||||
I(n): 28.73 flops/byte
|
||||
W(n): 74200000.00 flops
|
||||
T(n): 65369333.50 cycles
|
||||
P(n): 1.14 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 1462000.00 flops
|
||||
Q(n) per iteration: 25712 bytes
|
||||
I(n): 56.86 flops/byte
|
||||
W(n): 292400000.00 flops
|
||||
T(n): 264705723.00 cycles
|
||||
P(n): 1.10 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 9055000.00 flops
|
||||
Q(n) per iteration: 64112 bytes
|
||||
I(n): 141.24 flops/byte
|
||||
W(n): 1811000000.00 flops
|
||||
T(n): 1782045217.00 cycles
|
||||
P(n): 1.02 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 36110000.00 flops
|
||||
Q(n) per iteration: 128112 bytes
|
||||
I(n): 281.86 flops/byte
|
||||
W(n): 7222000000.00 flops
|
||||
T(n): 7925808103.00 cycles
|
||||
P(n): 0.91 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 144220000.00 flops
|
||||
Q(n) per iteration: 256112 bytes
|
||||
I(n): 563.11 flops/byte
|
||||
W(n): 28844000000.00 flops
|
||||
T(n): 35824664520.00 cycles
|
||||
P(n): 0.81 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 900550000.00 flops
|
||||
Q(n) per iteration: 640112 bytes
|
||||
I(n): 1406.86 flops/byte
|
||||
W(n): 180110000000.00 flops
|
||||
T(n): 247389191708.00 cycles
|
||||
P(n): 0.73 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main.cpp ./variants/variant_inlining_8.cpp -o main_inlining_8 -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: 6512 bytes
|
||||
I(n): 28.21 flops/byte
|
||||
W(n): 36740000.00 flops
|
||||
T(n): 15054758.12 cycles
|
||||
P(n): 2.44 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 727400.00 flops
|
||||
Q(n) per iteration: 12912 bytes
|
||||
I(n): 56.34 flops/byte
|
||||
W(n): 145480000.00 flops
|
||||
T(n): 59392245.00 cycles
|
||||
P(n): 2.45 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 2894800.00 flops
|
||||
Q(n) per iteration: 25712 bytes
|
||||
I(n): 112.59 flops/byte
|
||||
W(n): 578960000.00 flops
|
||||
T(n): 238841666.00 cycles
|
||||
P(n): 2.42 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 18037000.00 flops
|
||||
Q(n) per iteration: 64112 bytes
|
||||
I(n): 281.34 flops/byte
|
||||
W(n): 3607400000.00 flops
|
||||
T(n): 1555607186.00 cycles
|
||||
P(n): 2.32 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 72074000.00 flops
|
||||
Q(n) per iteration: 128112 bytes
|
||||
I(n): 562.59 flops/byte
|
||||
W(n): 14414800000.00 flops
|
||||
T(n): 6418988746.00 cycles
|
||||
P(n): 2.25 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 288148000.00 flops
|
||||
Q(n) per iteration: 256112 bytes
|
||||
I(n): 1125.09 flops/byte
|
||||
W(n): 57629600000.00 flops
|
||||
T(n): 25996385057.00 cycles
|
||||
P(n): 2.22 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 1800370000.00 flops
|
||||
Q(n) per iteration: 640112 bytes
|
||||
I(n): 2812.59 flops/byte
|
||||
W(n): 360074000000.00 flops
|
||||
T(n): 183377209437.00 cycles
|
||||
P(n): 1.96 flops/cycle
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
rm -f main_* run_tests *.o *.s variants/*.s variants/*.o headers/*.s headers/*.o
|
||||
sudo /usr/bin/g++ main.cpp ./variants/variant_lut_exp.cpp -o main_lut_exp -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: 6512 bytes
|
||||
I(n): 28.21 flops/byte
|
||||
W(n): 36740000.00 flops
|
||||
T(n): 13721813.88 cycles
|
||||
P(n): 2.68 flops/cycle
|
||||
|
||||
=== N_P=100 N_ITER=200 ===
|
||||
W(n) per iteration: 727400.00 flops
|
||||
Q(n) per iteration: 12912 bytes
|
||||
I(n): 56.34 flops/byte
|
||||
W(n): 145480000.00 flops
|
||||
T(n): 55725180.50 cycles
|
||||
P(n): 2.61 flops/cycle
|
||||
|
||||
=== N_P=200 N_ITER=200 ===
|
||||
W(n) per iteration: 2894800.00 flops
|
||||
Q(n) per iteration: 25712 bytes
|
||||
I(n): 112.59 flops/byte
|
||||
W(n): 578960000.00 flops
|
||||
T(n): 213951168.00 cycles
|
||||
P(n): 2.71 flops/cycle
|
||||
|
||||
=== N_P=500 N_ITER=200 ===
|
||||
W(n) per iteration: 18037000.00 flops
|
||||
Q(n) per iteration: 64112 bytes
|
||||
I(n): 281.34 flops/byte
|
||||
W(n): 3607400000.00 flops
|
||||
T(n): 1353984010.00 cycles
|
||||
P(n): 2.66 flops/cycle
|
||||
|
||||
=== N_P=1000 N_ITER=200 ===
|
||||
W(n) per iteration: 72074000.00 flops
|
||||
Q(n) per iteration: 128112 bytes
|
||||
I(n): 562.59 flops/byte
|
||||
W(n): 14414800000.00 flops
|
||||
T(n): 5608638594.00 cycles
|
||||
P(n): 2.57 flops/cycle
|
||||
|
||||
=== N_P=2000 N_ITER=200 ===
|
||||
W(n) per iteration: 288148000.00 flops
|
||||
Q(n) per iteration: 256112 bytes
|
||||
I(n): 1125.09 flops/byte
|
||||
W(n): 57629600000.00 flops
|
||||
T(n): 22755683575.00 cycles
|
||||
P(n): 2.53 flops/cycle
|
||||
|
||||
=== N_P=5000 N_ITER=200 ===
|
||||
W(n) per iteration: 1800370000.00 flops
|
||||
Q(n) per iteration: 640112 bytes
|
||||
I(n): 2812.59 flops/byte
|
||||
W(n): 360074000000.00 flops
|
||||
T(n): 151113844624.00 cycles
|
||||
P(n): 2.38 flops/cycle
|
||||
|
||||
Reference in New Issue
Block a user