Skip to content

Instantly share code, notes, and snippets.

@nils-werner
Last active December 26, 2015 10:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nils-werner/7135162 to your computer and use it in GitHub Desktop.
Save nils-werner/7135162 to your computer and use it in GitHub Desktop.
Speaker TikZ
\def\speaker{%
(11mm,2mm) -- +(0mm,-4mm)
(13mm,4mm) -- +(0mm,-8mm)
(15mm,6mm) -- +(0mm,-12mm)
(0mm,0mm) -- +(0mm,-3mm) -- +(4mm,-3mm) -- +(9mm,-7mm) -- +(9mm,7mm) -- +(4mm,3mm) -- +(0mm,3mm) -- +(0mm,0mm)
}
\begin{figure}
\centerline{
\begin{tikzpicture}[node distance = 1.3cm, auto]
\node[delay, dashed,minimum width=9.5cm, minimum height=3cm,yshift=-0.7cm, xshift=4.5cm] (host) {Host};
\node[delay, dashed,minimum width=9.5cm, minimum height=3cm,yshift=-5.1cm, xshift=4.5cm] (device) {Device};
\tikzgrid{
\node[invisible] at(-0.4,0) (sigma) {$\sigma$};
\node[invisible] at(0.4,0) (omega) {$\omega$};
\node[invisible] at (1.2,0) (mu) {$\mu$} & & & &
\node[invisible] (B) {$\mathbf{B}_\mathrm{g}$} &
\node[invisible] (y) {$\mathbf{y}$} & &
\draw[r] \speaker node[invisible] (speaker) {} \\
\node[invisible] (A) {$\mathbf{A}_\mathrm{g}$} &
\node[invisible] (C) {$\mathbf{C}_\mathrm{g}$} & & &
\node[invisible] (x) {$\mathbf{x}$} \\ \\ \\
%
\node[filter,minimum width=2.5cm,minimum height=2cm,text centered] at (0.5,0) (Ap) {\begin{tabular}{c}$\mathbf{A}_\mathrm{g} \Rightarrow \mathbf{A}_\mathrm{b}$ \\ $\mathbf{C}_\mathrm{g} \Rightarrow \mathbf{C}_\mathrm{b}$ \end{tabular}} & & & &
\node[filter,minimum width=2.5cm,minimum height=2cm] at (0.5,0) (H) {$\mathbf{H}$} &
}
\path[r>, shorten <=3pt] (sigma) to (A);
\path[r>, shorten <=3pt] (omega) to (A);
\path[r>, shorten <=3pt] (mu) to (A);
\path[r>, shorten <=3pt] (mu) to (C);
\path[r>, shorten >=3pt, shorten <=3pt] (B) to (x);
\path[v>, shorten <=3pt] (A) to ($ (Ap.north) - (0.5,0) $);
\path[v>, shorten <=3pt] (C) to ($ (Ap.north) + (0.5,0) $);
\path[v>] ($ (Ap.east) + (0,0.5) $) to ($ (H.west) + (0,0.5) $);
\path[v>] ($ (Ap.east) - (0,0.5) $) to ($ (H.west) - (0,0.5) $);
\path[v>, shorten <=3pt] (x) to ($ (H.north) - (0.5,0)$);
\path[<v, dashed, shorten <=3pt] (y) to ($ (H.north) + (0.5,0)$);
\path[r, shorten <=3pt] (y) to (speaker);
\end{tikzpicture}
}
\caption{Genereller Ablauf des Systems mit Matrizen-Erzeugung, Datentransfers, Erzeugung der chunkverarbeitenden Matrizen und Synthese. Einmalige Kopiervorgänge vor Beginn der Symthese in durchgezogenen Linien, permanenter Ergebnis-Datenstrom gestrichelt.}
\label{fig:cuda.ablauf}
\end{figure}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment