]> AND Private Git Repository - book_gpu.git/blobdiff - BookGPU/Chapters/chapter5/figures/component_design.tikz
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
modif
[book_gpu.git] / BookGPU / Chapters / chapter5 / figures / component_design.tikz
index 984ae7b056a9b4cefde06ddf8e809ca622bc86ba..beb7103ac0213593d16ae11b8ea92ee8f46d2945 100644 (file)
@@ -1,97 +1,98 @@
-\begin{tikzpicture}\r
-\r
-\tikzstyle{abstract}=[rectangle, draw=black, rounded corners, fill=white, drop shadow, text centered, anchor=north, text width=6cm]\r
-        \r
-%nodes\r
-\node (Vector) [abstract, rectangle split, rectangle split parts=3]\r
-{\r
-\textbf{Vector}\r
-\nodepart{second}\r
-\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]\r
-typedef value_type;\r
-typedef size_type;\r
-\end{lstlisting}\r
-\nodepart{third}\r
-\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]\r
-           Vector(size_type);\r
-           Vector(Vector);\r
-void       axpy(value_type,Vector);\r
-void       axpby(value_type,Vector);\r
-void       copy(Vector);\r
-value_type dot(Vector);\r
-Vector*    duplicate();\r
-void       fill(value_type);\r
-value_type nrmi();\r
-value_type nrm2();\r
-void       scal(vale_type);\r
-size_type  size();\r
-\end{lstlisting}\r
-};\r
-\r
-\node (Matrix) [abstract, rectangle split, rectangle split parts=3, below right=0cm and 0.4cm of Vector.north east]\r
-{\r
-\textbf{Matrix}\r
-\nodepart{second}\r
-\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]\r
-typedef vector_type;\r
-\end{lstlisting}\r
-\nodepart{third}\r
-\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]\r
-void mult(vector_type);\r
-\end{lstlisting}\r
-};\r
-\r
-\node (Solver) [abstract, rectangle split, rectangle split parts=3, below=of Vector]\r
-{\r
-\textbf{EqSolver}\r
-\nodepart{second}\r
-\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]\r
-typedef vector_type;\r
-typedef matrix_type;\r
-typedef monitor_type;\r
-typedef preconditioner_type;\r
-\end{lstlisting}\r
-\nodepart{third}\r
-\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]\r
-     EqSolver(matrix_type\r
-             ,monitor_type);\r
-void solve(vector_type,vector_type);\r
-void set_preconditioner(preconditioner_type);\r
-\end{lstlisting}\r
-};\r
-\r
-\node (Preconditioner) [abstract, rectangle split, rectangle split parts=3, below=of Matrix]\r
-{\r
-\textbf{Preconditioner}\r
-\nodepart{second}\r
-\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]\r
-typedef vector_type;\r
-typedef matrix_type;\r
-typedef monitor_type;\r
-\end{lstlisting}\r
-\nodepart{third}\r
-\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]\r
-     Preconditioner(matrix_type\r
-                   ,monitor_type);\r
-void operator()(vector_type,vector_type)\r
-\end{lstlisting}\r
-};\r
-\r
-\node (TimeIntegrator) [abstract, rectangle split, rectangle split parts=2, below=of Preconditioner]\r
-{\r
-\textbf{TimeIntegrator}\r
-\nodepart{second}\r
-%\nodepart{third}\r
-\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]\r
-template <typename rhs_type\r
-        , typename vector_type\r
-        , typename value_type>\r
-void operator()(rhs_type\r
-               ,vector_type\r
-               ,value_type\r
-               ,value_type\r
-               ,value_type);\r
-\end{lstlisting}\r
-};\r
-\r
-\end{tikzpicture}\r
+\begin{tikzpicture}
+
+\tikzstyle{abstract}=[rectangle, draw=black, rounded corners, fill=white, drop shadow, text centered, anchor=north, text width=5.5cm]
+        
+%nodes
+\node (Vector) [abstract, rectangle split, rectangle split parts=3]
+{
+\textbf{Vector}
+\nodepart{second}
+\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily,backgroundcolor=\color{white},numbers=none]
+typedef value_type;
+typedef size_type;
+\end{lstlisting}
+\nodepart{third}
+\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily,backgroundcolor=\color{white},numbers=none]
+           Vector(size_type);
+           Vector(Vector);
+void       axpy(value_type,Vector);
+void       axpby(value_type,Vector);
+void       copy(Vector);
+value_type dot(Vector);
+Vector*    duplicate();
+void       fill(value_type);
+value_type nrmi();
+value_type nrm2();
+void       scal(vale_type);
+size_type  size();
+\end{lstlisting}
+};
+
+\node (Matrix) [abstract, rectangle split, rectangle split parts=3, below right=0cm and 0.4cm of Vector.north east]
+{
+\textbf{Matrix}
+\nodepart{second}
+\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily,backgroundcolor=\color{white},numbers=none]
+typedef vector_type;
+\end{lstlisting}
+\nodepart{third}
+\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily,backgroundcolor=\color{white},numbers=none]
+void mult(vector_type,vector_type);
+\end{lstlisting}
+};
+
+\node (Solver) [abstract, rectangle split, rectangle split parts=3, below=0.4cm of Vector]
+{
+\textbf{EqSolver}
+\nodepart{second}
+\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily,backgroundcolor=\color{white},numbers=none]
+typedef vector_type;
+typedef matrix_type;
+typedef monitor_type;
+typedef preconditioner_type;
+\end{lstlisting}
+\nodepart{third}
+\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily,backgroundcolor=\color{white},numbers=none]
+     EqSolver(matrix_type
+             ,monitor_type);
+void solve(vector_type,vector_type);
+void set_preconditioner(preconditioner_type);
+\end{lstlisting}
+};
+
+\node (Preconditioner) [abstract, rectangle split, rectangle split parts=3, below=0.4cm of Matrix]
+{
+\textbf{Preconditioner}
+\nodepart{second}
+\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily,backgroundcolor=\color{white},numbers=none]
+typedef vector_type;
+typedef matrix_type;
+typedef monitor_type;
+\end{lstlisting}
+\nodepart{third}
+\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily,backgroundcolor=\color{white},numbers=none]
+     Preconditioner(matrix_type
+                   ,monitor_type);
+void operator()(vector_type
+               ,vector_type)
+\end{lstlisting}
+};
+
+\node (TimeIntegrator) [abstract, rectangle split, rectangle split parts=2, below=0.4cm of Preconditioner]
+{
+\textbf{TimeIntegrator}
+\nodepart{second}
+%\nodepart{third}
+\begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily,backgroundcolor=\color{white},numbers=none]
+template <typename rhs_type
+        , typename vector_type
+        , typename value_type>
+void operator()(rhs_type
+               ,vector_type
+               ,value_type
+               ,value_type
+               ,value_type);
+\end{lstlisting}
+};
+
+\end{tikzpicture}