Start SOTA
This commit is contained in:
parent
5f8ff8599b
commit
bd7b3b8ad6
1 changed files with 24 additions and 0 deletions
|
@ -1 +1,25 @@
|
||||||
\section{State of the art}\label{sec:sota}
|
\section{State of the art}\label{sec:sota}
|
||||||
|
|
||||||
|
Performance models for CPUs have been previously studied, and applied to
|
||||||
|
static code performance analysis.
|
||||||
|
|
||||||
|
\medskip
|
||||||
|
|
||||||
|
Since 1996, Agner Fog has been maintaining tables of values useful for
|
||||||
|
optimisation purposes for x86 instructions~\cite{AgnerFog}. These tables, still
|
||||||
|
maintained and updated today, are often considered very accurate. The main
|
||||||
|
issue, however, is that those tables are generated through the use of
|
||||||
|
hand-picked instructions and benchmarks, depending on specific hardware
|
||||||
|
counters and features specific to some CPU manufacturers. As such, while these
|
||||||
|
tables are very helpful on the supported CPUs for x86, the method does not
|
||||||
|
scale to the abundance of CPUs on which such tables may be useful ---~for
|
||||||
|
instance, ARM processors, embedded platforms, etc.
|
||||||
|
|
||||||
|
\medskip
|
||||||
|
|
||||||
|
Following the work of Agner Fog, Andreas Abel and Jan Reineke have designed the
|
||||||
|
\uopsinfo{} framework~\cite{uopsinfo}, striving to automate the previous
|
||||||
|
methodology. Their work, providing data tables for the vast majority of
|
||||||
|
instructions on many recent Intel microarchitectures, has been recently
|
||||||
|
enhanced to also support AMD architectures. It is, however, still limited to
|
||||||
|
% TODO HW counters, relevant microarchs
|
||||||
|
|
Loading…
Reference in a new issue