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}
|
||||
\begin{abstract}
|
||||
Qu'il s'agisse de calculs massifs distribués sur plusieurs racks, de
|
||||
de calculs en environnement contraint comme de l'embarqué ou de
|
||||
l'\emph{edge computing} ou encore de tentatives de réduire l'empreinte
|
||||
écologique d'un programme fréquemment utilisé, de nombreux cas d'usage
|
||||
justifient l'optimisation d'un programme. Celle-ci s'arrête souvent à
|
||||
Qu'il s'agisse de calculs massifs distribués sur plusieurs racks, de de
|
||||
calculs en environnement contraint comme de l'embarqué ou de l'\emph{edge
|
||||
computing} ou encore de tentatives de réduire l'empreinte écologique d'un
|
||||
programme fréquemment utilisé, de nombreux cas d'usage justifient
|
||||
l'optimisation poussée d'un programme. Celle-ci s'arrête souvent à
|
||||
l'optimisation de haut niveau (algorithmique, parallélisme, \ldots), mais
|
||||
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
|
||||
processeur précis utilisé.
|
||||
|
||||
Une telle optimisation demande une compréhension fine à la fois logicielle
|
||||
et matérielle, et est bien souvent cantonnée aux experts du domaine.
|
||||
Les \emph{code analyzers} (analyseurs de code), cependant, permettent
|
||||
d'abaisser le niveau d'expertise nécessaire pour accomplir de telles
|
||||
optimisations, en automatisant une partie du travail de compréhension des
|
||||
problèmes de performance rencontrés. Ces mêmes outils permettent également
|
||||
aux experts d'être plus efficaces dans leur travail.
|
||||
Une telle optimisation demande une compréhension fine des aspects à la fois
|
||||
logiciels et matériels en jeu, et est bien souvent cantonnée aux experts du
|
||||
domaine. Les \emph{code analyzers} (analyseurs de code), cependant,
|
||||
permettent d'abaisser le niveau d'expertise nécessaire pour accomplir de
|
||||
telles optimisations, en automatisant une partie du travail de
|
||||
compréhension des problèmes de performance rencontrés. Ces mêmes outils
|
||||
permettent également aux experts d'être plus efficaces dans leur travail.
|
||||
|
||||
Dans ce manuscrit, nous étudierons les principaux goulots d'étranglement de
|
||||
performance d'un processeur, sur lesquels l'état de l'art montre des
|
||||
|
@ -32,6 +32,33 @@
|
|||
|
||||
\selectlanguage{english}
|
||||
\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}
|
||||
|
||||
|
|
Loading…
Reference in a new issue