\selectlanguage{french} \section{Introduction (en français)} \begin{frame} \centering \includegraphics[width=\textwidth]{fugaku.jpg} \emph{Le supercalculateur \emph{Fugaku}}\\ \licence{© RIKEN} \end{frame} \begin{frame} \centering \includegraphics[height=0.9\textheight]{fugaku-outside.jpg} \emph{Le bâtiment du supercalculateur \emph{Fugaku}}\\ \licence{© RIKEN} \end{frame} \begin{frame}[c]{} \centering \includegraphics[height=0.9\textheight]{fugaku_rack.jpg}\\ \emph{Une ``baie'' de \emph{Fugaku}}\\ \licence{Raysonho CC-BY-SA-4.0} \end{frame} \begin{frame} \centering \only<1>{\includegraphics[height=0.9\textheight]{serveur_supermicro.png}} \only<2>{\includegraphics[height=0.9\textheight]{serveur_supermicro-mask.png}} \\ \emph{Un serveur}\\ \licence{© Supermicro} \end{frame} \begin{frame} \centering \includegraphics[width=0.8\textwidth]{cpu.jpg} \emph{Un processeur} \end{frame} \begin{frame}{À quoi ces supercalculateurs servent~?} \begin{itemize} \item{} Calcul scientifique \begin{itemize} \item Simulations de fluides (océans, aérodynamique, \ldots) \item Modélisations en chimie, biologie, \ldots{} \item Études du climat \end{itemize} \item Prévisions météo \begin{itemize} \item[$\rightarrow$] Météo-France~: 29\up{e} plus puissant supercalculateur en 2020 \end{itemize} \item Développement de modèles IA \item \ldots \end{itemize} \end{frame} \begin{frame}{Quelques ordres de grandeur} \begin{center} {\Large\emph{Fugaku}~: 158,976 CPUs} \end{center} \begin{columns} \begin{column}{0.48\textwidth} \begin{block}{Coût} \begin{itemize} \item{} Un processeur~: $\sim$~100--1\,000\,€ \item{} \textit{Fugaku}~: 1 milliard~\$ \end{itemize} \end{block} \end{column}\hfill \begin{column}{0.48\textwidth} \begin{block}{Consommation} \begin{itemize} \item{} \textit{Fugaku}~: 30--40\,MW \item{} $\sim$~5\,\% d'un réacteur nucléaire \end{itemize} \end{block} \end{column} \end{columns} \hfill \begin{center} \textbf{$\rightarrow$ gagner quelques \% de performance, c'est très rentable~!} \end{center} \end{frame} \begin{frame}{Comment optimise-t-on~?} \begin{itemize} \item Méthodes ``classiques'' \alert{déjà appliquées} (algorithmique, parallélisation, \ldots) \item \alert{Sections critiques}~: petit morceau de programme répété massivement \item Optimiser pour \alert{un processeur spécifique} connu \end{itemize} \vfill \begin{center} \textbf{\alert{Chercher où et pourquoi le processeur perd du temps.}} \end{center} \end{frame} \begin{frame}{Trois goulots d'étranglement étudiés} \begin{tightitemize}{1em} \pause \begin{columns}[T] %\column{\dimexpr\paperwidth-7pt} \begin{column}{0.32\textwidth} \begin{block}{\alert{Backend}} \begin{itemize} \item Les ouvriers de l'atelier \item Ouvriers surchargés~: impossible d'aller plus vite \item Possiblement un seul métier \end{itemize} \end{block} \end{column} \hfill\pause \begin{column}{0.32\textwidth} \begin{block}{\alert{Frontend}} \begin{itemize} \item Manager \item Surchargé $\implies$ \\ ouvriers sous-utilisés \end{itemize} \end{block} \end{column} \hfill\pause \begin{column}{0.32\textwidth} \begin{block}{\alert{Dépendances}} \begin{itemize} \item Tâches blocantes \item Tout l'atelier attend qu'un ouvrier ait fini \end{itemize} \end{block} \end{column} \end{columns} \end{tightitemize} \end{frame} \begin{frame}{Analyseurs de code} \begin{itemize} \item Analyser la situation~: \begin{itemize} \item Quel goulot d'étranglement~? \item Où~? \item Pourquoi~? \end{itemize} \pause{} \item CPU~: ``boite noire'' \item $\sim$ 1 milliard instructions / seconde \end{itemize} \pause \begin{center} $\rightarrow$ On modélise pour analyser~! \textbf{\alert{``Analyseurs de code''}} \end{center} \end{frame} \selectlanguage{english} \begin{frame}{Summary} \begin{itemize} \item Performance prediction for \alert{computational microkernels} \item Approach based on \alert{bottlenecks} \item Requires \alert{microarchitectural models} \end{itemize} \vfill{} \begin{center} \textbf{Works centered on developing parts of these models} \end{center} \end{frame}