From bbb4fdad42627c99f13f108c324648ca5b7ce1a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Bastian?= Date: Sun, 1 Dec 2024 12:17:32 +0100 Subject: [PATCH] Enhancements, fixups --- slides/20_foundations/main.tex | 45 +- slides/30_frontend/main.tex | 2 +- slides/40_cesasme/main.tex | 2 +- .../imgs/20_foundations/cpu_frontend.svg | 391 ++++++++++++++++++ 4 files changed, 423 insertions(+), 17 deletions(-) create mode 100644 slides/assets/imgs/20_foundations/cpu_frontend.svg diff --git a/slides/20_foundations/main.tex b/slides/20_foundations/main.tex index acd16bc..f7ed612 100644 --- a/slides/20_foundations/main.tex +++ b/slides/20_foundations/main.tex @@ -31,20 +31,32 @@ \end{tightitemize} \end{column} \end{columns} - - \pause{} - \begin{center} - \textbf{\alert{These pieces can (mostly) be modeled independently!}} - \end{center} \end{frame} \begin{frame}{Dependencies and the ROB} - \begin{itemize} - \item Dependencies can stall execution - \item Maybe instructions further down can be executed right now? - \item ROB: circular buffer of \uops{} - \item First possible instruction is issued - \end{itemize} + \begin{columns} + \begin{column}{0.35\textwidth} + \begin{center} + \includegraphics[width=\textwidth]{cpu_frontend.svg} + \end{center} + \end{column} + \hfill + \begin{column}{0.64\textwidth} + \begin{tightitemize}{0pt} + \begin{itemize} + \item Dependencies can stall execution + \item Maybe instructions further down can be executed right now? + \end{itemize} + \begin{center} + \textbf{\alert{$\to$ Out-of-Order CPUs}} + \end{center} + \begin{itemize} + \item ROB: circular buffer of \uops{} + \item First possible instruction is issued + \end{itemize} + \end{tightitemize} + \end{column} + \end{columns} \end{frame} \begin{frame}{How do we get insights from this complex system?} @@ -101,13 +113,16 @@ \item \alert{\uica{}} and \alert{\uopsinfo{}}: research, good accuracy. Intel CPUs. \item \alert{\ithemal{}}: machine-learning based. - \item \alert{\gus{}}: instrumentation-based code analyzer (not - static) $\leadsto$ slow. Access to mode information. Made in the - CORSE team. \end{itemize} + \bigskip Except Ithemal, \alert{all} are (to some extent) based on manually-made - models! + models!\\ + \pause{} + \bigskip{} + \begin{center} + \textbf{\alert{Ambition:}} \alert{automated} model generation. + \end{center} \end{frame} \begin{frame}{When I started my PhD\ldots} diff --git a/slides/30_frontend/main.tex b/slides/30_frontend/main.tex index e2d7813..f03dc0a 100644 --- a/slides/30_frontend/main.tex +++ b/slides/30_frontend/main.tex @@ -67,7 +67,7 @@ \item{} Measure to verify \bigskip \item{} If so, \textbf{\[ - \mucount{i} = 3 \cyc{\kerK_{k_0}} - k + \mucount{i} = 3 \cyc{\kerK_{k_0}} - k_0 \]} \end{itemize} diff --git a/slides/40_cesasme/main.tex b/slides/40_cesasme/main.tex index f2344e1..ae631a1 100644 --- a/slides/40_cesasme/main.tex +++ b/slides/40_cesasme/main.tex @@ -36,6 +36,7 @@ loop: \begin{itemize} \item Instrument full kernel $\kerK$: for each basic block, $\operatorname{occur}(\text{bb})$ + \item Measure total kernel time \textbf{in context} \item For each tool \begin{itemize} \item for each bb, @@ -47,7 +48,6 @@ loop: \operatorname{prediction}(\text{bb}) \] \end{itemize} - \item Measure total kernel time \end{itemize} \pause diff --git a/slides/assets/imgs/20_foundations/cpu_frontend.svg b/slides/assets/imgs/20_foundations/cpu_frontend.svg new file mode 100644 index 0000000..f489bda --- /dev/null +++ b/slides/assets/imgs/20_foundations/cpu_frontend.svg @@ -0,0 +1,391 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FRONTEND + + + + + + + + Decoder + + + + + + Renamer + + + + + + + + + + Instructionflow + + + Reorder buffer (ROB) + + + + Issue + + + + + + + +