Merge branch 'elliot/report+video' into 'main'

Final

See merge request course-asl-fastcode26/team70!84
This commit is contained in:
Linus Baumberger
2026-06-19 12:52:20 +02:00
5 changed files with 2 additions and 2 deletions
+1
View File
@@ -7,6 +7,7 @@
*.csv *.csv
*.gif *.gif
*.mp4 *.mp4
!simulation.mp4
!reference/*.csv !reference/*.csv
!analysis/*.csv !analysis/*.csv
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -12,7 +12,7 @@ This repository contains the C++ simulation code and Python visualization code u
## Results ## Results
The logs of our benchmarks are stored inside the [`measurements`](./measurements/) folder. However, the log files contain incorrect flop counts since our benchmarking code assumed the same baseline flop count for all versions. Thus, we manually recalculated the flop count for each version and created helper functions for the correct flop counts inside the [`flopcounts`](./flopcounts/) folder. **The final, correct results are stored inside [`analysis/results_x86.csv`](./analysis/results_x86.csv).** [`variant_inlining_8.cpp`](./variants/variant_inlining_8.cpp) is our best non-vectorized version, while [`variant_float_inlining_SoA_AVX512_polyexp_moreavx_ilp_2_rsqrt_morersqrt_improved_moreilp.cpp`](./variants/variant_float_inlining_SoA_AVX512_polyexp_moreavx_ilp_2_rsqrt_morersqrt_improved_moreilp.cpp) is our best vectorized version. The measurements for the best non-vectorized version compiled with flags specifically disabling vectorization are stored at [`4.log`](./measurements/variant_inlining_8/x86/4.log), [`5.log`](./measurements/variant_inlining_8/x86/5.log), and [`6.log`](measurements/variant_inlining_8/x86/6.log). Additionally, the markdown files we have inside [`docs`](./docs/) are outdated and incomplete. Thus, **the final report [`70_report.pdf`](./70_report.pdf) should be used as the sole reference for all of our optimizations**. The logs of our benchmarks are stored inside the [`measurements`](./measurements/) folder. However, the log files contain incorrect flop counts since our benchmarking code assumed the same baseline flop count for all versions. Thus, we manually recalculated the flop count for each version and created helper functions for the correct flop counts inside the [`flopcounts`](./flopcounts/) folder. **The final, correct results are stored inside [`analysis/results_x86.csv`](./analysis/results_x86.csv).** [`variant_inlining_8.cpp`](./variants/variant_inlining_8.cpp) is our best non-vectorized version, while [`variant_float_inlining_SoA_AVX512_polyexp_moreavx_ilp_2_rsqrt_morersqrt_improved_moreilp.cpp`](./variants/variant_float_inlining_SoA_AVX512_polyexp_moreavx_ilp_2_rsqrt_morersqrt_improved_moreilp.cpp) is our best vectorized version. The measurements for the best non-vectorized version compiled with flags specifically disabling vectorization are stored at [`4.log`](./measurements/variant_inlining_8/x86/4.log), [`5.log`](./measurements/variant_inlining_8/x86/5.log), and [`6.log`](measurements/variant_inlining_8/x86/6.log). Additionally, the markdown files we have inside [`docs`](./docs/) are incomplete and outdated. Thus, **the final report [`70_report.pdf`](./70_report.pdf) should be used as the sole reference for all of our optimizations**.
## Requirements ## Requirements
-1
View File
@@ -3,7 +3,6 @@ import pandas as pd
import numpy as np import numpy as np
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import matplotlib.patheffects as pe import matplotlib.patheffects as pe
#import seaborn as sns # tried it, the default look was worse
df = pd.read_csv("analysis/results_x86.csv") df = pd.read_csv("analysis/results_x86.csv")
BIN
View File
Binary file not shown.