1 \tikzstyle{iblock}=[rectangle, draw=black, rounded corners, top color=white, bottom color=black!50, drop shadow, text centered, anchor=north, text width=3cm]
\r
3 \begin{tikzpicture}[->,>=stealth',shorten >=1pt,thick]
\r
5 \node (GPU1mem) [iblock] { Device memory };
\r
6 \node (GPU2mem) [iblock,right=2.0cm of GPU1mem] { Device memory };
\r
7 \node (CPU1mem) [iblock,below=2.0cm of GPU1mem] { Host memory };
\r
8 \node (CPU2mem) [iblock,right=2.0cm of CPU1mem] { Host memory };
\r
10 \draw[->,loop left] (GPU1mem.west) to node {kernel} (GPU1mem.west);
\r
11 \draw[->,loop right] (GPU2mem.east) to node {kernel} (GPU2mem.east);
\r
12 \draw[->] (GPU1mem.south) to node[auto] {PCIe} (CPU1mem.north);
\r
13 \draw[->] (CPU1mem.east) to node[auto] {MPI} (CPU2mem.west);
\r
14 \draw[->] (CPU2mem.north) to node[auto] {PCIe} (GPU2mem.south);
\r