phd-defence-fr/otb.architecture.tex

50 lines
2.0 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}