182 lines
6.8 KiB
TeX
182 lines
6.8 KiB
TeX
%%% Macros specific to this figure
|
|
\newcommand{\na}{{\color{gray}N/A}}
|
|
\newcommand{\centerheader}[1]{\multicolumn{1}{c}{#1}}
|
|
\newcommand{\figfiverow}[2]{
|
|
\begin{minipage}[c]{0.03\linewidth}
|
|
\figrowlegend{#1}
|
|
\end{minipage}\figspaceleft{}
|
|
\begin{minipage}[c]{0.13\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmaps/#2-palmed.png}
|
|
\end{minipage}\figspacemid{}
|
|
\begin{minipage}[c]{0.13\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmaps/#2-UOPS.png}
|
|
\end{minipage}\figspacemid{}
|
|
\begin{minipage}[c]{0.13\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmaps/#2-PMEvo.png}
|
|
\end{minipage}\figspacemid{}
|
|
\begin{minipage}[c]{0.13\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmaps/#2-IACA.png}
|
|
\end{minipage}\figspacemid{}
|
|
\begin{minipage}[c]{0.13\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmaps/#2-LLVM_MCA.png}
|
|
\end{minipage}\figspaceright{}
|
|
\begin{minipage}[c]{0.035\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmaps/#2-legend.png}
|
|
\end{minipage}
|
|
}
|
|
\newcommand{\figthreerow}[2]{
|
|
\begin{minipage}[c]{0.03\linewidth}
|
|
\figrowlegend{#1}
|
|
\end{minipage}\figspaceleft{}
|
|
\begin{minipage}[c]{0.15\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmaps/#2-palmed.png}
|
|
\end{minipage}\figspacezenmid{}
|
|
\begin{minipage}[c]{0.15\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmaps/#2-PMEvo.png}
|
|
\end{minipage}\figspacezenmid{}
|
|
\begin{minipage}[c]{0.15\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmaps/#2-LLVM_MCA.png}
|
|
\end{minipage}\figspaceright{}
|
|
\begin{minipage}[c]{0.035\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmaps/#2-legend.png}
|
|
\end{minipage}
|
|
}
|
|
\newcommand{\figthreerowlegend}[2]{
|
|
\begin{minipage}[c]{0.03\linewidth}
|
|
\figrowlegend{#1}
|
|
\end{minipage}\figspaceleft{}
|
|
\begin{minipage}[c]{0.15\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmaps/#2-palmed.png}
|
|
\end{minipage}\figspacezenmid{}
|
|
\begin{minipage}[c]{0.12\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmap_legend.svg}
|
|
\end{minipage}\figspacezenmid{}
|
|
\begin{minipage}[c]{0.15\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmaps/#2-PMEvo.png}
|
|
\end{minipage}\figspacezenmid{}
|
|
\begin{minipage}[c]{0.12\linewidth}
|
|
~
|
|
\end{minipage}\figspacezenmid{}
|
|
\begin{minipage}[c]{0.15\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmaps/#2-LLVM_MCA.png}
|
|
\end{minipage}\figspaceright{}
|
|
\begin{minipage}[c]{0.035\linewidth}
|
|
\includegraphics[width=\linewidth]{ipc_heatmaps/#2-legend.png}
|
|
\end{minipage}
|
|
}
|
|
\newenvironment{figleftlabel}[1]{
|
|
\begin{minipage}[c]{0.02\linewidth}
|
|
\figrowlegend{#1}
|
|
\end{minipage}\figspaceleft{}
|
|
\begin{minipage}[c]{0.94\linewidth}}
|
|
{\end{minipage}}
|
|
\newcommand{\figspaceleft}{\hspace{1em}}
|
|
\newcommand{\figspaceright}{\hspace{1em}}
|
|
\newcommand{\figspacemid}{\hfill}
|
|
\newcommand{\figspacezenmid}{\hfill}
|
|
\newcommand{\figcollegend}[1]{\begin{center}\textbf{\normalsize #1}\end{center}}
|
|
\newcommand{\figrowlegend}[1]{\rotatebox{90}{\small\textbf{#1}}}
|
|
\newcommand{\figspacerow}
|
|
|
|
\newcommand{\tabcoverage}{Cov.}
|
|
\newcommand{\taberror}{Err.}
|
|
\newcommand{\tabkendall}{$\tau_K$}
|
|
\newcommand{\tabcoverageunit}{(\%)}
|
|
\newcommand{\taberrorunit}{(\%)}
|
|
\newcommand{\tabkendallunit}{$(1)$}
|
|
\definecolor{tabcovbg}{RGB}{235,255,255}
|
|
\definecolor{taberrbg}{RGB}{255,240,255}
|
|
\definecolor{tabktaubg}{RGB}{239,250,235}
|
|
\newcolumntype{C}{>{\columncolor{tabcovbg}}r}
|
|
\newcolumntype{E}{>{\columncolor{taberrbg}}r}
|
|
\newcolumntype{K}{>{\columncolor{tabktaubg}}r}
|
|
|
|
\newcommand{\covrow}{\tabcoverage{} & \tabcoverageunit{}}
|
|
\newcommand{\errrow}{\taberror{} & \taberrorunit{}}
|
|
\newcommand{\taurow}{\tabkendall{} & \tabkendallunit{}}
|
|
|
|
%%% Taken directly from Palmed paper
|
|
\begin{figure}
|
|
\centering
|
|
\begin{figleftlabel}{}
|
|
\begin{minipage}[c]{0.03\linewidth}~\end{minipage}\figspaceleft{}
|
|
\begin{minipage}[c]{0.13\linewidth}
|
|
\figcollegend{\palmed{}}
|
|
\end{minipage}\figspacemid{}
|
|
\begin{minipage}[c]{0.13\linewidth}
|
|
\figcollegend{uops.info}
|
|
\end{minipage}\figspacemid{}
|
|
\begin{minipage}[c]{0.13\linewidth}
|
|
\figcollegend{PMEvo}
|
|
\end{minipage}\figspacemid{}
|
|
\begin{minipage}[c]{0.13\linewidth}
|
|
\figcollegend{IACA}
|
|
\end{minipage}\figspacemid{}
|
|
\begin{minipage}[c]{0.13\linewidth}
|
|
\figcollegend{llvm-mca}
|
|
\end{minipage}\figspaceright{}
|
|
\begin{minipage}[c]{0.035\linewidth}~\end{minipage}
|
|
\end{figleftlabel}
|
|
|
|
\begin{figleftlabel}{SKL-SP}
|
|
\figfiverow{SPEC 17}{spec-W-skx}
|
|
|
|
\figspacerow
|
|
|
|
\figfiverow{Polybench}{polybench-W-skx}
|
|
\end{figleftlabel}
|
|
|
|
\figspacerow{}
|
|
|
|
\begin{figleftlabel}{ZEN1}
|
|
\figthreerow{SPEC 17}{spec-W-zen}
|
|
|
|
\figspacerow
|
|
|
|
\figthreerowlegend{Polybench}{polybench-W-zen}
|
|
\end{figleftlabel}
|
|
|
|
\caption{IPC prediction profile heatmaps~---~predictions closer to the
|
|
red line are more accurate. Predicted IPC ratio (Y) against native
|
|
IPC (X)}
|
|
\label{fig:palmed_heatmaps}
|
|
\end{figure}
|
|
|
|
\begin{table}
|
|
\centering
|
|
\begin{tabular}{l l c r r r r}
|
|
\toprule
|
|
& & & \multicolumn{2}{c}{SKL-SP} & \multicolumn{2}{c}{ZEN1} \\
|
|
& & & \centerheader{SPEC2017} & \centerheader{Polybench} &
|
|
\centerheader{SPEC2017} & \centerheader{Polybench} \\
|
|
\midrule
|
|
\multirow{3}{*}{\palmed}
|
|
& \covrow{} & \na{}{} & \na{} & \na{} & \na{} \\
|
|
& \errrow{} & 7.8 & 24.4 & 29.9 & 32.6 \\
|
|
& \taurow{} & 0.90 & 0.78 & 0.68 & 0.46 \\
|
|
\midrule{}
|
|
\multirow{3}{*}{\uopsinfo}
|
|
& \covrow{} & 99.9 & 100.0 & \na{} & \na{} \\
|
|
& \errrow{} & 40.3 & 68.1 & \na{} & \na{} \\
|
|
& \taurow{} & 0.71 & 0.29 & \na{} & \na{} \\
|
|
\midrule{}
|
|
\multirow{3}{*}{\pmevo}
|
|
& \covrow{} & 71.3 & 66.8 & 71.3 & 66.8 \\
|
|
& \errrow{} & 28.1 & 46.7 & 36.5 & 38.5 \\
|
|
& \taurow{} & 0.47 & 0.14 & 0.43 & 0.11 \\
|
|
\midrule{}
|
|
\multirow{3}{*}{\iaca}
|
|
& \covrow{} & 100.0 & 100.0 & \na{} & \na{} \\
|
|
& \errrow{} & 8.7 & 15.1 & \na{} & \na{} \\
|
|
& \taurow{} & 0.80 & 0.67 & \na{} & \na{} \\
|
|
\midrule{}
|
|
\multirow{3}{*}{\llvmmca}
|
|
& \covrow{} & 96.8 & 99.5 & 96.8 & 99.5 \\
|
|
& \errrow{} & 20.1 & 15.3 & 33.4 & 28.6 \\
|
|
& \taurow{} & 0.73 & 0.65 & 0.75 & 0.40 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
|
|
\caption{Accuracy of IPC predictions compared to \pipedream{}-based native
|
|
executions on SPEC 2017 and Polybench}\label{table:palmed_eval}
|
|
\end{table}
|