phd-defense/slides/40_cesasme/main.tex

95 lines
2.8 KiB
TeX
Raw Normal View History

2024-11-20 12:54:09 +01:00
\section{\cesasme: evaluate and compare state-of-the-art code analyzers}
2024-11-25 12:23:18 +01:00
\begin{frame}[fragile]
\begin{minipage}{0.6\textwidth}
\begin{center}
Matrix multiplication:
\end{center}
\begin{lstlisting}[language={[x86masm]Assembler}]
loop:
movsd (%rcx, %rax), %xmm0
mulsd %xmm1, %xmm0
addsd (%rdx, %rax), %xmm0
movsd %xmm0, (%rdx, %rax)
addq $8, %rax
cmpq $0x2260, %rax
jne loop\end{lstlisting}
\end{minipage}\hfill\vrule\hfill
\begin{minipage}{0.38\textwidth}
\begin{tabular}{l r}
\llvmmca{}: & 1.5 cycles \\
\iaca{}: & 2.0 cycles \\
\ithemal{}: & 2.0 cycles \\
\uica{}: & 3.0 cycles \\
\end{tabular}
\end{minipage}
\vfill{}
\begin{center}
\textbf{Which prediction is correct?} \quad
\alert{\textbf{We lack a sound baseline!}}
\end{center}
\end{frame}
\begin{frame}{Lifting predictions}
\begin{itemize}
\item Instrument full kernel $\kerK$: for each basic block,
$\operatorname{occur}(\text{bb})$
\item For each tool
\begin{itemize}
\item for each bb,
$\operatorname{prediction}(\text{bb})$
\item \emph{lift} predictions: \[
\operatorname{prediction}(\kerK) =
\sum_{\text{bb} \in \kerK}
\operatorname{occur}(\text{bb}) \times
\operatorname{prediction}(\text{bb})
\]
\end{itemize}
\item Measure total kernel time
\end{itemize}
\pause
\begin{center}
\textbf{Now we have a baseline.}\\
\textit{\color[HTML]{6e7581}(And \llvmmca{} was correct.)}
\end{center}
\end{frame}
\begin{frame}{Generating benchmarks}
We need benchmarks\ldots \\
\vspace{1em}
{\def\arraystretch{1.2}
\newcommand{\litem}{\usebeamertemplate*{itemize item}\hspace{-0.5em}}
\begin{tabular}{rl l}
\litem{} & representative of scientific computation &
\visible<2->{\alert{Polybench}}\\
\litem{} & infinite, L1-resident loops &
\visible<3->{\alert{``microkernelification''} + verify}
\\
\litem{} & stressing diverse resources &
\visible<4->{\alert{Polyhedral transformations}}
\\
& & \visible<4->{+ \alert{unrolling} + \alert{compiler
options}} \\
\litem{} & plenty of them &
\visible<5->{\alert{Even more} of all those $\nnearrow$} \\
\end{tabular}
\let\litem\undefined
}
\begin{center}
\visible<6->{\textbf{\leadsto{} yields \alert{~3500} benchmarks}}
\end{center}
\end{frame}
\begin{frame}
\vspace{0.5cm}
\begin{columns}
\column{\dimexpr\paperwidth-8pt}
\centering
\input{overview.tex}
\end{columns}
\end{frame}