Compare commits
2 commits
897feccca7
...
00707e60fe
Author | SHA1 | Date | |
---|---|---|---|
00707e60fe | |||
bd354bfe99 |
3 changed files with 65 additions and 0 deletions
|
@ -228,6 +228,7 @@ int fibo(int* F, int n) {
|
|||
\begin{frame}{Evaluation: coverage}
|
||||
\begin{itemize}
|
||||
\item Baseline: instrumentation (extract deps at runtime)
|
||||
\item Filter \textit{long-distance dependencies} ($> \card{\text{ROB}}$)
|
||||
\item On all \cesasme{} benchmarks
|
||||
\end{itemize}
|
||||
\begin{minipage}{0.4\textwidth}
|
||||
|
@ -257,6 +258,27 @@ int fibo(int* F, int n) {
|
|||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Evaluation: \textit{points-to} analysis}
|
||||
\begin{itemize}
|
||||
\item Quantify whether $\exists p, q \in \text{context}$ pointing to
|
||||
the \alert{same memory region} (``points-to'')
|
||||
\item Proxy: if $i_0 \to i_1$, then $q \in i_1$ aliases $p \in i_0$
|
||||
\item If $p = q$, we should catch it
|
||||
\item If not: either \emph{long-distance} with $p=q$, or \alert{$p \neq
|
||||
q$}!
|
||||
\item[$\leadsto$] Keep long-distance dependencies; evaluate coverage on this
|
||||
\end{itemize}
|
||||
\begin{center}
|
||||
\begin{tabular}{r r}
|
||||
\toprule
|
||||
$\cov_u$ (\%) & $\cov_w$ (\%) \\
|
||||
\midrule
|
||||
\alert{95.0} & \alert{93.7} \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Evaluation: use in \uica}
|
||||
\begin{columns}
|
||||
\column{\dimexpr\paperwidth-8pt}
|
||||
|
|
|
@ -1 +1,3 @@
|
|||
\input{85_supplementary/results_tables.tex}
|
||||
|
||||
\input{85_supplementary/misc.tex}
|
||||
|
|
41
slides/85_supplementary/misc.tex
Normal file
41
slides/85_supplementary/misc.tex
Normal file
|
@ -0,0 +1,41 @@
|
|||
\section{Misc supplementary material}
|
||||
|
||||
\begin{frame}[fragile]{\cesasme{} and control flow}
|
||||
\begin{center}
|
||||
\textbf{Straight-line code:} hypothesis of code analysers, but
|
||||
also\ldots{}
|
||||
\end{center}
|
||||
|
||||
\begin{minipage}[c]{0.35\textwidth}
|
||||
\begin{lstlisting}[language=C]
|
||||
for(i) {
|
||||
if(A[i] % 2 == 0)
|
||||
A[i] *= 2;
|
||||
A[i] += B[i];
|
||||
}
|
||||
\end{lstlisting}
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}[c]{0.60\textwidth}
|
||||
\begin{itemize}
|
||||
\item If not taken: map
|
||||
\item If taken: \alert{dependency} in \lstc{A[i]}!
|
||||
\item Performance varies depending on branch
|
||||
\item Performance \alert{strongly depends} on \alert{input data}
|
||||
\end{itemize}
|
||||
\end{minipage}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{\staticdeps: lack of context}
|
||||
\begin{minipage}[t]{0.48\textwidth}
|
||||
\begin{block}{Context-dependent stride}
|
||||
\todo{λ\lstc{F, k: F[i] += F[i+k]}}
|
||||
\end{block}
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}[t]{0.48\textwidth}
|
||||
\begin{block}{Graphs algorithms}
|
||||
\todo{Adjacency list as pointers to vertices}
|
||||
\end{block}
|
||||
\end{minipage}
|
||||
\end{frame}
|
Loading…
Reference in a new issue