diff --git a/src/thesis/chapters/4_decoding_under_dems.tex b/src/thesis/chapters/4_decoding_under_dems.tex index 0f69f6b..6aeed48 100644 --- a/src/thesis/chapters/4_decoding_under_dems.tex +++ b/src/thesis/chapters/4_decoding_under_dems.tex @@ -1476,23 +1476,6 @@ irrespective of the initialization, can beat, since by construction whole-block decoding has access to the full set of constraints available to any window. -% [Description] Figure 4.9 -% - Parameters -% - # BP iterations -% - W,F -% - Physical error rates -% - Warm vs cold start -% - Figure description -% - TODO: - -% [Interpretation] Figure 4.9 -% - - -% At some later point -\content{When looking at max iterations: Callback to diminishing - returns with growing window size: More iterations more beneficial -than larger window (+1 for warm-start)} - \begin{figure}[t] \centering \begin{tikzpicture} @@ -1598,104 +1581,86 @@ than larger window (+1 for warm-start)} \caption{ \red{\lipsum[2]} } + \label{fig:bp_w_over_iter} \end{figure} -% \begin{figure}[t] -% \centering -% \begin{tikzpicture}[spy using outlines={circle, magnification=2, -% connect spies}] -% -% \begin{axis}[ -% width=\figwidth, -% height=\figheight, -% ymode=log, -% % xmode=log, -% legend style={ -% cells={anchor=west}, -% cells={align=left}, -% }, -% enlargelimits=false, -% ymin=1e-3, ymax=1e-1, -% grid=both, -% legend pos = north east, -% xtick={32,512,1024,2048,4096}, -% % xtick={0.001,0.0015,...,0.004}, -% xticklabels = -% {$32$,$512$,$1{,}024$,,$2{,}048$,,$3{,}072$,,$4{,}096$}, -% xtick={32, 512, 1024, 1536, 2048, 2560, 3072, 3584, 4096}, -% xticklabel style={/pgf/number format/fixed}, -% xticklabel style={/pgf/number format/precision=4}, -% % x tick label style={rotate=45, anchor=north east, -% % inner sep=1mm}, -% scaled x ticks=false, -% xlabel={Number of BP iterations}, -% ylabel={Per-round-LER}, -% extra description/.code={ -% \node[rotate=90, anchor=south] -% at ([xshift=10mm]current axis.east) -% {Warm s. (---), Cold s. (- - -)}; -% }, -% ] -% -% \foreach \W/\col/\mark in -% {3/KITred/triangle,4/KITblue/diamond,5/KITorange/square} { -% \edef\temp{\noexpand -% \addplot+[mark=\mark, densely dashed, -% forget plot, \col] -% table[ -% col sep=comma, x=max_iter, -% y=LER_per_round, -% ] -% {res/sim/max_iter/WindowingSyndromeMinSumDecoder/p_0.0025/pass_soft_info_False/F_1/W_\W/LERs.csv}; -% } -% \temp -% } -% -% \foreach \W/\col/\mark in -% {3/KITred/triangle*,4/KITblue/diamond*,5/KITorange/square*} { -% \edef\temp{\noexpand -% \addplot+[mark=\mark, solid, mark -% options={fill=\col}, \col] -% table[ -% col sep=comma, x=max_iter, -% y=LER_per_round, -% ] -% {res/sim/max_iter/WindowingSyndromeMinSumDecoder/p_0.0025/pass_soft_info_True/F_1/W_\W/LERs.csv}; -% } -% \temp -% -% \addlegendentryexpanded{$W = \W$} -% } -% -% \addplot+[mark=*, solid, mark options={fill=black}, black] -% table[ -% col sep=comma, x=max_iter, -% y=LER_per_round, -% ] -% {res/sim/max_iter/SyndromeMinSumDecoder/p_0.0025/LERs.csv}; -% -% \addlegendentry{Whole} -% -% \coordinate (spypoint) at (axis cs:250,1e-2); -% \coordinate (magnifyglass) at (axis cs:2048,0.5); -% -% \end{axis} -% \spy [black, size=4cm] on (spypoint) -% in node[fill=white] at (magnifyglass); -% -% \end{tikzpicture} -% -% \caption{ -% Comparison of the decoding performance of cold and warm-start -% decoding under the $\llbracket 144,12,12 \rrbracket$ \ac{bb} -% code for different step sizes. -% Decoding was performed using the min-sum algorithm ($200$ -% iterations). -% The window size was fixed to $W=5$, $12$ rounds of syndrome -% extraction were performed and the noise model is -% standard circuit-based depolarizing noise. -% } -% \end{figure} +% [Experimental parameters] Figure 4.9 + +\Cref{fig:bp_w_over_iter} shows the per-round \ac{ler} as a function +of the maximum number of \ac{bp} iterations granted to the inner decoders. +The dashed colored curves correspond to cold-start sliding-window +decoding for $W \in \{3, 4, 5\}$, the solid colored curves to the +corresponding warm-start sliding-window decoding, and the black curve +to the whole-block reference. +The physical error rate is fixed at $p = 0.0025$, the step size at +$F = 1$, and the iteration budget is swept over +$n_\text{iter} \in \{32, 128, 256, 512, 1024, 2048, 4096\}$. +The enlarged plot magnifies the low-iteration regime +$n_\text{iter} \in [32, 512]$. + +% [Description] Figure 4.9 + +All curves decrease monotonically with the iteration budget, but +contrary to our expectation, none of them appears to fully saturate +within the swept range: even at $n_\text{iter} = 4096$, every curve +still exhibits a noticeable downward slope. +At $n_\text{iter} = 32$, the whole-block curve lies below both the +$W=4$ and $W=5$ sliding-window curves. +At $n_\text{iter} = 128$ the whole-block curve already performs +better than the $W=4$ sliding-window curve +and at $n_\text{iter} = 512$ the whole-block and warm-start $W = 5$ +curves also cross. +From this point onwards, the whole-block decoder lies strictly below +all windowed schemes, this difference becoming more pronounced as the +iteration budget grows further. +Within the magnified plot, the gap between the warm-start and +cold-start curves at fixed $W$ is largest for the smallest iteration +counts and shrinks rapidly as $n_\text{iter}$ grows, and at fixed +$n_\text{iter}$ the size of this gap grows with the window size, +mirroring the behavior already observed in \Cref{fig:whole_vs_cold_vs_warm}. + +% [Interpretation] Figure 4.9 + +These observations are largely consistent with the effective-iterations +hypothesis put forward above. +The whole-block decoder eventually overtaking every windowed scheme +matches the prediction made there: with a sufficiently large +iteration budget, the whole-block decoder reaches an error rate +that nonone of the windowed schemes can beat, because of the more global +nature of the considered constraints. +Furthermore, the pronounced advantage of warm- over cold-start decoding at low +numbers of iterations makes sense if we consider the overall trend of the plots. +At low iteration budgets, each additional iteration is worth more +than at high budgets. +As the number of permitted iteration increases, the benefit of +the additional ``free'' iterations gained due to the the warm-start +initialization diminishes, and the curves approach each other. + +The fact that no curve clearly saturates within the swept range is +itself worth noting. +We know that \ac{bp} on \ac{qldpc} codes suffers from poor +convergence due to the short cycles in the underlying Tanner graph, +so even after several thousand iterations the +decoder may continue to slowly refine its message estimates rather +than settle into a stable fixed point. +This is one of the core motivations for moving from plain \ac{bp} to +the guided-decimation variant studied in +\Cref{subsec:Belief Propagation with Guided Decimation}. + +Another thing to note is that setting the per-invocation iteration +budget of the inner decoder equal to the iteration budget of the +whole-block decoder is not a fair comparison in terms of total +computational effort. +The sliding-window scheme processes each \ac{vn} in an overlap region +multiple times and therefore spends more iterations overall. +In the context of \ac{qec}, however, the relevant figure of merit is +not total compute but decoding latency, and in terms of latency the +sliding-window approach is still at an advantage. + +% At some later point +\content{When looking at max iterations: Callback to diminishing + returns with growing window size: More iterations more beneficial +than larger window (+1 for warm-start)} \begin{figure}[t] \centering diff --git a/src/thesis/chapters/5_conclusion_and_outlook.tex b/src/thesis/chapters/5_conclusion_and_outlook.tex index 9bef306..2426865 100644 --- a/src/thesis/chapters/5_conclusion_and_outlook.tex +++ b/src/thesis/chapters/5_conclusion_and_outlook.tex @@ -1,8 +1,11 @@ \chapter{Conclusion and Outlook} +\content{Takeaway: Warm-start more effective for lower numbers of max + iterations (plays into our hands because lower number of iterations +means lower latency)} + \content{\textbf{Ideas for further research}} \content{Softer way of decimating VNs} \content{Systematic study on using different inner decoders (AED, SED, BPGD, ...)} \content{Investigate SC-LDPC window decoding wave-like effects} -