source: docs/Working/icGrep/fig-executor.tex @ 4505

Last change on this file since 4505 was 4504, checked in by nmedfort, 5 years ago

Small fix for unicode matching example along with formatting changes

File size: 2.7 KB
RevLine 
[4467]1\begin{figure}[tbh]
2\begin{center}
[4498]3
4\pgfdeclarelayer{threads}
5\pgfdeclarelayer{components}
6\pgfsetlayers{threads,main}
7
[4467]8\tikzstyle{block} = [rectangle, draw, text width=15em, text centered, minimum height=1.75em, thick, font=\ttfamily\bfseries, node distance=3.5em]
9\tikzstyle{line} = [draw, ->, line width=1.4pt]
10\tikzstyle{separator} = [draw, line width=0.125em, dashed]
[4498]11\tikzstyle{thread} = [rectangle, corners=rounded, draw, text width=15em, text centered, minimum height=1.75em, thick, font=\ttfamily\bfseries, node distance=3.5em]
[4467]12\tikzset{block/.append style={execute at begin node=\footnotesize}}   
13\begin{tikzpicture}[node distance=3cm, auto, >=stealth]
14
15    % Place nodes
[4498]16    \node [draw=none] (InputData) {Streaming Input Data};
[4476]17    \node [block, below of=InputData] (S2P) {Transposition};
[4467]18    \node [block, below of=S2P] (RequiredStreamsGenerator) {Required Streams Generator};
[4476]19    \node [block, below of=RequiredStreamsGenerator] (JITFunction) {Dynamic Matcher};
[4498]20    \node [block, right of=JITFunction, node distance=20em] (NamedPropertyLibrary) {Named Property Library};
[4467]21    \node [block, below of=JITFunction] (MatchScanner) {Match Scanner};
[4498]22    \node [draw=none, below of=MatchScanner, node distance=3.5em] (OutputResult) {Streaming Output Result};
[4467]23   
24    % Draw edges
25    \path [line] (InputData) -- (S2P);
26    \path [line] (S2P) -- (RequiredStreamsGenerator);
27    \path [line] (RequiredStreamsGenerator) -- (JITFunction);
[4498]28    \path [line] (NamedPropertyLibrary) -- (JITFunction);
[4467]29    \path [line] (JITFunction) -- (MatchScanner);
30    \path [line] (MatchScanner) -- (OutputResult);
[4498]31
32    \begin{pgfonlayer}{threads}
[4504]33        \path (S2P.north west)+(-.1,.5) node (a) {};
[4498]34        \path (S2P.south east)+(+1.7,-0.1) node (b) {};
35        \path[fill=green!20,rounded corners, draw=green, solid] (a) rectangle (b);
[4504]36        \node [draw=none,above=-0.04cm of S2P.north east] (t1) {Transposition Thread};
[4498]37
[4504]38        \path (RequiredStreamsGenerator.north west)+(-.1,.38) node (a) {};
[4498]39        \path (RequiredStreamsGenerator.south east)+(+2,-0.1) node (b) {};
40        \path[fill=blue!20,rounded corners, draw=blue, solid] (a) rectangle (b);
[4504]41        \node [draw=none,above=-0.04cm of RequiredStreamsGenerator.north east] (t1) {Stream Generator Thread};
[4498]42
[4504]43        \path (JITFunction.north west)+(-.1,.38) node (a) {};
44        \path (NamedPropertyLibrary.east |- MatchScanner.south)+(+.1,-0.1) node (b) {};
[4498]45        \path[fill=red!20,rounded corners, draw=red, solid] (a) rectangle (b);
[4504]46        \node [draw=none,above=-0.04cm of JITFunction.north east] (t1) {Matcher Thread};
[4498]47
48    \end{pgfonlayer}{threads}
[4467]49\end{tikzpicture}
50
51\end{center}
[4499]52\caption{Data flow in an icGrep execution} \label{fig:execution}
[4467]53\end{figure} 
Note: See TracBrowser for help on using the repository browser.