Abstract: english version
This commit is contained in:
parent
c8be00a615
commit
8285859fab
1 changed files with 40 additions and 13 deletions
|
@ -1,22 +1,22 @@
|
||||||
\selectlanguage{french}
|
\selectlanguage{french}
|
||||||
\begin{abstract}
|
\begin{abstract}
|
||||||
Qu'il s'agisse de calculs massifs distribués sur plusieurs racks, de
|
Qu'il s'agisse de calculs massifs distribués sur plusieurs racks, de de
|
||||||
de calculs en environnement contraint comme de l'embarqué ou de
|
calculs en environnement contraint comme de l'embarqué ou de l'\emph{edge
|
||||||
l'\emph{edge computing} ou encore de tentatives de réduire l'empreinte
|
computing} ou encore de tentatives de réduire l'empreinte écologique d'un
|
||||||
écologique d'un programme fréquemment utilisé, de nombreux cas d'usage
|
programme fréquemment utilisé, de nombreux cas d'usage justifient
|
||||||
justifient l'optimisation d'un programme. Celle-ci s'arrête souvent à
|
l'optimisation poussée d'un programme. Celle-ci s'arrête souvent à
|
||||||
l'optimisation de haut niveau (algorithmique, parallélisme, \ldots), mais
|
l'optimisation de haut niveau (algorithmique, parallélisme, \ldots), mais
|
||||||
il est possible de la pousser jusqu'à une optimisation bas-niveau,
|
il est possible de la pousser jusqu'à une optimisation bas-niveau,
|
||||||
s'intéressant à l'assembleur généré en regard de la microarchitecture du
|
s'intéressant à l'assembleur généré en regard de la microarchitecture du
|
||||||
processeur précis utilisé.
|
processeur précis utilisé.
|
||||||
|
|
||||||
Une telle optimisation demande une compréhension fine à la fois logicielle
|
Une telle optimisation demande une compréhension fine des aspects à la fois
|
||||||
et matérielle, et est bien souvent cantonnée aux experts du domaine.
|
logiciels et matériels en jeu, et est bien souvent cantonnée aux experts du
|
||||||
Les \emph{code analyzers} (analyseurs de code), cependant, permettent
|
domaine. Les \emph{code analyzers} (analyseurs de code), cependant,
|
||||||
d'abaisser le niveau d'expertise nécessaire pour accomplir de telles
|
permettent d'abaisser le niveau d'expertise nécessaire pour accomplir de
|
||||||
optimisations, en automatisant une partie du travail de compréhension des
|
telles optimisations, en automatisant une partie du travail de
|
||||||
problèmes de performance rencontrés. Ces mêmes outils permettent également
|
compréhension des problèmes de performance rencontrés. Ces mêmes outils
|
||||||
aux experts d'être plus efficaces dans leur travail.
|
permettent également aux experts d'être plus efficaces dans leur travail.
|
||||||
|
|
||||||
Dans ce manuscrit, nous étudierons les principaux goulots d'étranglement de
|
Dans ce manuscrit, nous étudierons les principaux goulots d'étranglement de
|
||||||
performance d'un processeur, sur lesquels l'état de l'art montre des
|
performance d'un processeur, sur lesquels l'état de l'art montre des
|
||||||
|
@ -32,6 +32,33 @@
|
||||||
|
|
||||||
\selectlanguage{english}
|
\selectlanguage{english}
|
||||||
\begin{abstract}
|
\begin{abstract}
|
||||||
This is my PhD's abstract. Check it out.
|
Be it massively distributed computation over multiple server racks,
|
||||||
|
constrained computation in embedded environments or \emph{edge computing},
|
||||||
|
or still an attempt to reduce the ecological footprint of a frequently-run
|
||||||
|
program, many use-cases make it relevant to deeply optimize a program. This
|
||||||
|
optimisation is often limited to high-level optimisation --~choice of
|
||||||
|
algorithms, parallel computing, \ldots{} Yet, it is possible to carry it
|
||||||
|
further to low-level optimisations, by inspecting the generated assembly
|
||||||
|
with respect to the microarchitecture of the specific microprocessor used
|
||||||
|
to fine-tune it.
|
||||||
|
|
||||||
|
Such an optimisation level requires a very detailed comprehension of both
|
||||||
|
the software and hardware aspects implied, and is most often the realm of
|
||||||
|
experts. \emph{Code analyzers}, however, are tools that help lowering the
|
||||||
|
expertise threshold required to perform such optimisations by automating
|
||||||
|
away a portion of the work required to understand the source of the
|
||||||
|
encountered performance problems. The same tools are also useful to
|
||||||
|
experts, as they help them to be more efficient in their work.
|
||||||
|
|
||||||
|
In this manuscript, we study the main performance bottlenecks of a
|
||||||
|
processor, on which the state of the art does not perform consistently. For
|
||||||
|
each of these bottlenecks, we contribute to the state of the art. We work
|
||||||
|
on automating the obtention of a model of the processor's \emph{backend};
|
||||||
|
we manually study the processor's \emph{frontend}, hoping to set a
|
||||||
|
milestone towards the automation of the obtention of such models; we
|
||||||
|
provide a tool to automatically extract a computation kernel's
|
||||||
|
\emph{memory-carried} dependencies. We also provide a systematic, automated
|
||||||
|
and fully-tooled study of the prediction accuracy of various
|
||||||
|
state-of-the-art code analyzers.
|
||||||
\end{abstract}
|
\end{abstract}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue