1 \section{Evaluation}\label{sec:eval}
\r
3 \subsection{Histogram Plots}\label{subsec:hist}
\r
7 \includegraphics[scale=0.6]{pics/EDGEENCODING-hist.pdf}
\r
8 \caption{Encoding Edge Histogram: 0=Edge Unassiged, 1= Edge Break, 2= Edge Match}
\r
9 \label{fig:edgeencoding}
\r
15 \includegraphics[scale=0.6]{pics/ELEMENTOPTSETS-hist.pdf}
\r
16 \caption{Element Opt Set Histogram: Whether tuner should update sets or not. 0= OFF, 1= ON}
\r
17 \label{fig:elementoptset}
\r
22 \includegraphics[scale=0.6]{pics/ELEMENTOPT-hist.pdf}
\r
23 \caption{Element Opt Histogram: 0 = OFF, 1= ON}
\r
24 \label{fig:elementopt}
\r
29 \includegraphics[scale=0.6]{pics/ENCODINGGRAPHOPT-hist.pdf}
\r
30 \caption{Encoding Graph Optimization Histogram: 0= OFF, 1=ON}
\r
31 \label{fig:encodinggraph}
\r
36 \includegraphics[scale=0.6]{pics/MUSTEDGEPRUNE-hist.pdf}
\r
37 \caption{Must Prune Histogram: 0= OFF, 1= ON}
\r
38 \label{fig:mustedgeprune}
\r
43 \includegraphics[scale=0.6]{pics/MUSTVALUE-hist.pdf}
\r
44 \caption{Must Value Histogram: Binary Index must have value heuristic. The value varies from 0-6}
\r
45 \label{fig:mustvalue}
\r
50 \includegraphics[scale=0.6]{pics/NODEENCODING-hist.pdf}
\r
51 \caption{Node Encoding Histogram: 0= Unassigned, 1= OneHot, 2= Unary, 3= BinaryIndex}
\r
52 \label{fig:nodeencoding}
\r
57 \includegraphics[scale=0.6]{pics/NAIVEENCODER-hist.pdf}
\r
58 \caption{Naive Encoder Histogram: 1= OneHot, 2=Unary, 3=BinaryIndex}
\r
59 \label{fig:naiveencoder}
\r
64 \includegraphics[scale=0.6]{pics/PREPROCESS-hist.pdf}
\r
65 \caption{Preprocess Histogram: Replace Boolean Variables with T or F based on their polarity. 0= OFF, 1= ON}
\r
66 \label{fig:preprocess}
\r
71 \includegraphics[scale=0.6]{pics/PROXYVARIABLE-hist.pdf}
\r
72 \caption{Proxy Variable Histogram: Threshold for using proxy variables. Value varies from 1 to 5}
\r
73 \label{fig:proxyvariable}
\r
78 \includegraphics[scale=0.6]{pics/VARIABLEORDER-hist.pdf}
\r
79 \caption{Variable Order Histogram: 0= ConstraintOrdering, 1= ElementOrdering, 2=ReverseOrdering}
\r
80 \label{fig:variableorder}
\r
84 \subsection{Scatter Plots}\label{subsec:scatter}
\r
86 Y axis represents execution time and X axis shows the possible value of for each knob.
\r
87 Geometric mean of each value has been calculated and they are connected with solid lines.
\r
91 \includegraphics[scale=0.6]{pics/EDGEENCODING-scat.pdf}
\r
92 \caption{Encoding Edge plot}
\r
93 \label{fig:edgeencodings}
\r
99 \includegraphics[scale=0.6]{pics/ELEMENTOPTSETS-scat.pdf}
\r
100 \caption{Element Opt Set plot}
\r
101 \label{fig:elementoptsets}
\r
104 \begin{figure}[htb]
\r
106 \includegraphics[scale=0.6]{pics/ELEMENTOPT-scat.pdf}
\r
107 \caption{Element Opt plot}
\r
108 \label{fig:elementopts}
\r
111 \begin{figure}[htb]
\r
113 \includegraphics[scale=0.6]{pics/ENCODINGGRAPHOPT-scat.pdf}
\r
114 \caption{Encoding Graph Optimization plot}
\r
115 \label{fig:encodinggraphs}
\r
118 \begin{figure}[htb]
\r
120 \includegraphics[scale=0.6]{pics/MUSTEDGEPRUNE-scat.pdf}
\r
121 \caption{Must Prune plot}
\r
122 \label{fig:mustedgeprunes}
\r
125 \begin{figure}[htb]
\r
127 \includegraphics[scale=0.6]{pics/MUSTVALUE-scat.pdf}
\r
128 \caption{Must Value plot}
\r
129 \label{fig:mustvalues}
\r
132 \begin{figure}[htb]
\r
134 \includegraphics[scale=0.6]{pics/NODEENCODING-scat.pdf}
\r
135 \caption{Node Encoding plot}
\r
136 \label{fig:nodeencodings}
\r
139 \begin{figure}[htb]
\r
141 \includegraphics[scale=0.6]{pics/NAIVEENCODER-scat.pdf}
\r
142 \caption{Naive Encoder plot}
\r
143 \label{fig:naiveencoders}
\r
146 \begin{figure}[htb]
\r
148 \includegraphics[scale=0.6]{pics/PREPROCESS-scat.pdf}
\r
149 \caption{Preprocess Plot}
\r
150 \label{fig:preprocesss}
\r
153 \begin{figure}[htb]
\r
155 \includegraphics[scale=0.6]{pics/PROXYVARIABLE-scat.pdf}
\r
156 \caption{Proxy Variable plot}
\r
157 \label{fig:proxyvariables}
\r
160 \begin{figure}[htb]
\r
162 \includegraphics[scale=0.6]{pics/VARIABLEORDER-scat.pdf}
\r
163 \caption{Variable Order Plot}
\r
164 \label{fig:variableorders}
\r