49 lines
2 KiB
TeX
49 lines
2 KiB
TeX
\begin{frame}%[label=this one]
|
|
\frametitle{Architecture logicielle}
|
|
\begin{columns}
|
|
\column{.7\textwidth}
|
|
\begin{itemize}
|
|
\item[{\tikz[c]{\node[fill,rectangle]{};}}] \num{2300} lignes de C
|
|
\begin{itemize}
|
|
\item Programmation API, bas niveau
|
|
\item Interface avec OpenCL/OpenGL
|
|
\end{itemize}
|
|
\item[{\tikz[ocaml]{\node[fill,rectangle]{};}}] \num{2000} lignes de OCaml
|
|
réparties en 10 modules
|
|
\begin{itemize}
|
|
\item Programmation API, haut niveau
|
|
\item Processus maître, orchestration de simulation
|
|
\item Gestion des zones dynamiques
|
|
\end{itemize}
|
|
\item[{\tikz[opencl]{\node[fill,rectangle]{};}}] \num{700} lignes de kernel OpenCL
|
|
\smallskip
|
|
\item[{\tikz[sbgp]{\node[fill,rectangle]{};}}] SBGP
|
|
\end{itemize}
|
|
|
|
\begin{center}
|
|
\small
|
|
\begin{tikzpicture}[node distance=4mm and 1.3333cm,
|
|
box/.style={on grid,inner sep=0pt,rectangle,draw,
|
|
minimum height=4mm,font=\small},
|
|
full/.style={minimum width=4cm},
|
|
half/.style={minimum width=2cm},
|
|
third/.style={minimum width=1.3333cm},
|
|
]
|
|
\node[fill=black,draw=black,white,half,box] (cpu) {CPU};
|
|
\node[fill=black,draw=black,white,half,box,right=2cm of cpu] (gpu) {GPU};
|
|
\node[fill=c,third,box,above=of cpu.west,right] (os) {OS};
|
|
\node[fill=opencl,third,box,right=of os] (opencl) {OpenCL};
|
|
\node[fill=c,third,box,right=of opencl] (opengl) {OpenGL};
|
|
\node[fill=c,full,box,above=of os.west,right] (api1) {API OpenCL/OpenGL};
|
|
\node[fill=ocaml,full,box,above=of api1] (api2) {API Simulateur};
|
|
\node[diagonal fill={ocaml}{sbgp},full,box,above=of api2] (spec) {Spécification simulation};
|
|
\node[full,box,above=of spec,dashed] (ihm) {IHM};
|
|
|
|
\draw[white] (cpu.north east) -- (cpu.south east);
|
|
\end{tikzpicture}
|
|
\end{center}
|
|
|
|
\column{.2\textwidth}
|
|
\moteurs
|
|
\end{columns}
|
|
\end{frame}
|