2024-11-19 00:12:26 +01:00
|
|
|
\section{Introduction (en français)}
|
2024-11-19 13:52:06 +01:00
|
|
|
|
|
|
|
\begin{frame}
|
|
|
|
\centering
|
|
|
|
\includegraphics[width=\textwidth]{fugaku.jpg}
|
|
|
|
|
2024-11-24 18:54:41 +01:00
|
|
|
\emph{Le supercalculateur \emph{Fugaku}}\\
|
|
|
|
\licence{© RIKEN}
|
2024-11-19 13:52:06 +01:00
|
|
|
\end{frame}
|
|
|
|
|
2024-11-28 20:02:11 +01:00
|
|
|
\begin{frame}
|
|
|
|
\centering
|
|
|
|
\includegraphics[height=0.9\textheight]{fugaku-outside.jpg}
|
|
|
|
|
|
|
|
\emph{Le bâtiment du supercalculateur \emph{Fugaku}}\\
|
|
|
|
\licence{© RIKEN}
|
|
|
|
\end{frame}
|
|
|
|
|
2024-11-19 13:52:06 +01:00
|
|
|
\begin{frame}[c]{}
|
|
|
|
\centering
|
|
|
|
\includegraphics[height=0.9\textheight]{fugaku_rack.jpg}\\
|
2024-11-28 22:01:55 +01:00
|
|
|
\emph{Une ``baie'' de \emph{Fugaku}}\\
|
2024-11-24 18:54:41 +01:00
|
|
|
\licence{Raysonho CC-BY-SA-4.0}
|
2024-11-19 13:52:06 +01:00
|
|
|
\end{frame}
|
|
|
|
|
|
|
|
\begin{frame}
|
|
|
|
\centering
|
|
|
|
\includegraphics[height=0.9\textheight]{serveur_supermicro.png}\\
|
2024-11-24 18:54:41 +01:00
|
|
|
\emph{Un serveur}\\
|
|
|
|
\licence{© Supermicro}
|
2024-11-19 13:52:06 +01:00
|
|
|
\end{frame}
|
2024-11-20 12:54:09 +01:00
|
|
|
|
|
|
|
\begin{frame}
|
|
|
|
\centering
|
2024-11-24 18:54:41 +01:00
|
|
|
\includegraphics[width=0.8\textwidth]{cpu.jpg}
|
2024-11-20 12:54:09 +01:00
|
|
|
|
|
|
|
\emph{Un processeur}
|
|
|
|
\end{frame}
|
|
|
|
|
2024-11-28 20:02:11 +01:00
|
|
|
\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}
|
|
|
|
|
2024-11-20 12:54:09 +01:00
|
|
|
\begin{frame}{Quelques ordres de grandeur}
|
2024-11-28 20:02:11 +01:00
|
|
|
\begin{center}
|
|
|
|
{\Large\emph{Fugaku}~: 158,976 CPUs}
|
|
|
|
\end{center}
|
|
|
|
|
2024-11-20 12:54:09 +01:00
|
|
|
\begin{columns}
|
2024-11-28 20:02:11 +01:00
|
|
|
\begin{column}{0.48\textwidth}
|
2024-11-20 12:54:09 +01:00
|
|
|
\begin{block}{Coût}
|
|
|
|
\begin{itemize}
|
2024-11-28 20:02:11 +01:00
|
|
|
\item{} Un processeur~: $\sim$~100--1\,000\,€
|
2024-11-20 12:54:09 +01:00
|
|
|
\item{} \textit{Fugaku}~: 1 milliard~\$
|
|
|
|
\end{itemize}
|
|
|
|
\end{block}
|
|
|
|
\end{column}\hfill
|
2024-11-28 20:02:11 +01:00
|
|
|
\begin{column}{0.48\textwidth}
|
2024-11-20 12:54:09 +01:00
|
|
|
\begin{block}{Consommation}
|
|
|
|
\begin{itemize}
|
2024-11-28 20:02:11 +01:00
|
|
|
\item{} \textit{Fugaku}~: 30--40\,MW
|
|
|
|
\item{} $\sim$~5\,\% d'un réacteur nucléaire
|
2024-11-20 12:54:09 +01:00
|
|
|
\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}
|
|
|
|
|
2024-11-28 22:01:55 +01:00
|
|
|
\begin{frame}{Comment optimise-t-on~?}
|
|
|
|
Beaucoup de pistes~!
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
|
|
\item Identifier des morceaux de programme lents (``\emph{profiling}'')
|
|
|
|
\item Changements algorithmiques~: calculer la même chose, mais
|
|
|
|
autrement
|
|
|
|
\item Parallélisation~: répartir le travail
|
|
|
|
\item{} \ldots
|
|
|
|
\end{itemize}
|
|
|
|
|
|
|
|
Et si on a déjà fait ça\ldots{}\\
|
|
|
|
\begin{center}
|
|
|
|
\textbf{\alert{Chercher où et pourquoi le processeur perd du temps.}}
|
|
|
|
\end{center}
|
|
|
|
\end{frame}
|
|
|
|
|
|
|
|
\begin{frame}{Trois goulots d'étranglement}
|
|
|
|
\begin{tightitemize}{1em}
|
|
|
|
\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}
|
2024-11-20 12:54:09 +01:00
|
|
|
\begin{itemize}
|
2024-11-28 22:01:55 +01:00
|
|
|
\item Analyser la situation~:
|
|
|
|
\begin{itemize}
|
|
|
|
\item quel goulot d'étranglement~?
|
|
|
|
\item Où~?
|
|
|
|
\item Pourquoi~?
|
|
|
|
\end{itemize}
|
|
|
|
|
|
|
|
\item $\sim$ 1 milliard instructions / seconde
|
|
|
|
\item CPU~: ``boite noire''
|
2024-11-20 12:54:09 +01:00
|
|
|
\end{itemize}
|
2024-11-28 22:01:55 +01:00
|
|
|
|
|
|
|
\begin{center}
|
|
|
|
$\rightarrow$ On modélise pour analyser~!
|
|
|
|
\end{center}
|
2024-11-20 12:54:09 +01:00
|
|
|
\end{frame}
|