1 \usetikzlibrary{arrows}
2 \begin{tikzpicture}[scale = \FigureSize,pile/.style={thick, ->, >=stealth', shorten <=2pt, shorten >=2pt}]
4 % Draw fourth fine propagation
5 \fill[gray!30] (12.5,-3) -- (14,-3) -- (14,-2) -- (12.5,-2) -- (12.5,-3);
6 \fill[gray!30] (13,-4) -- (14,-4) -- (14,-3) -- (13,-3) -- (13,-4);
7 \fill[gray!30] (13.5,-5) -- (14,-5) -- (14,-4) -- (13.5,-4) -- (13.5,-5);
10 \draw[] plot coordinates{ (0,0) (0,-5) (14,-5) };
11 \draw[] plot coordinates{ (0,1) (14,1) };
12 \draw[] plot coordinates{ (0,0) (14,0) };
13 \draw[] plot coordinates{ (0,-1) (14,-1) };
14 \draw[] plot coordinates{ (0,-2) (14,-2) };
15 \draw[] plot coordinates{ (0,-3) (14,-3) };
16 \draw[] plot coordinates{ (0,-4) (14,-4) };
18 \draw [->,very thick] (0,-5.75) -- (2,-5.75);
19 \draw (1,-5.4) node { $Time$ };
21 \draw [<->,dashed,thick ] (0,1.5) -- (3,1.5);
22 \draw [<->,dashed,thick ] (3,1.5) -- (6.5,1.5);
23 \draw [<->,dashed,thick ] (6.5,1.5) -- (10,1.5);
24 \draw [<->,dashed,thick ] (10,1.5) -- (13.5,1.5);
25 \draw [<-,dashed,thick ] (13.5,1.5) -- (14,1.5);
26 \draw[thick] plot coordinates{ (3,1.4) (3,1.6) };
27 \draw[thick] plot coordinates{ (6.5,1.4) (6.5,1.6) };
28 \draw[thick] plot coordinates{ (10,1.4) (10,1.6) };
29 \draw[thick] plot coordinates{ (13.5,1.4) (13.5,1.6) };
31 \draw (1.5,2) node {$Iter.\,k=0$};
32 \draw (4.75,2) node {$Iter.\,k=1$};
33 \draw (8.25,2) node {$Iter.\,k=2$};
34 \draw (11.75,2) node {$Iter.\,k=3$};
37 \draw (-1.5,0.5) node {$GPU.\,1$};
38 \draw (-1.5,-0.5) node {$GPU.\,2$};
39 \draw (-1.5,-1.5) node {$GPU.\,3$};
40 \draw (-1.5,-2.5) node {$GPU.\,4$};
41 \draw (-1.5,-3.5) node {$GPU.\,5$};
42 \draw (-1.5,-4.5) node {$GPU.\,6$};
44 % Draw first coarse propagation
45 \fill[gray!90] (0,0) -- (0,1) -- (0.5,1) -- (0.5,0) -- (0,0);
46 \draw[] plot coordinates{ (0,0) (0,1) (0.5,1) (0.5,0) (0,0) };
47 \fill[gray!90] (0.5,-1) -- (0.5,0) -- (1,0) -- (1,-1) -- (0.5,-1);
48 \draw[] plot coordinates{ (0.5,-1) (0.5,0) (1,0) (1,-1) (0.5,-1) };
49 \fill[gray!90] (1,-2) -- (1,-1) -- (1.5,-1) -- (1.5,-2) -- (1,-2);
50 \draw[] plot coordinates{ (1,-2) (1,-1) (1.5,-1) (1.5,-2) (1,-2) };
51 \fill[gray!90] (1.5,-3) -- (1.5,-2) -- (2,-2) -- (2,-3) -- (1.5,-3);
52 \draw[] plot coordinates{ (1.5,-3) (1.5,-2) (2,-2) (2,-3) (1.5,-3) };
53 \fill[gray!90] (2,-4) -- (2,-3) -- (2.5,-3) -- (2.5,-4) -- (2,-4);
54 \draw[] plot coordinates{ (2,-4) (2,-3) (2.5,-3) (2.5,-4) (2,-4) };
55 \fill[gray!90] (2.5,-5) -- (2.5,-4) -- (3,-4) -- (3,-5) -- (2.5,-5);
56 \draw[] plot coordinates{ (2.5,-5) (2.5,-4) (3,-4) (3,-5) (2.5,-5) };
58 % Draw first fine propagation
59 \fill[gray!30] (0.5,0) -- (3.5,0) -- (3.5,1) -- (0.5,1) -- (0.5,0);
60 \draw[] plot coordinates{ (0.5,0) (3.5,0) (3.5,1) (0.5,1) (0.5,0) };
61 \fill[gray!30] (1,-1) -- (4,-1) -- (4,0) -- (1,0) -- (1,-1);
62 \draw[] plot coordinates{ (1,-1) (4,-1) (4,0) (1,0) (1,-1) };
63 \fill[gray!30] (1.5,-2) -- (4.5,-2) -- (4.5,-1) -- (1.5,-1) -- (1.5,-2);
64 \draw[] plot coordinates{ (1.5,-2) (4.5,-2) (4.5,-1) (1.5,-1) (1.5,-2) };
65 \fill[gray!30] (2,-3) -- (5,-3) -- (5,-2) -- (2,-2) -- (2,-3);
66 \draw[] plot coordinates{ (2,-3) (5,-3) (5,-2) (2,-2) (2,-3) };
67 \fill[gray!30] (2.5,-4) -- (5.5,-4) -- (5.5,-3) -- (2.5,-3) -- (2.5,-4);
68 \draw[] plot coordinates{ (2.5,-4) (5.5,-4) (5.5,-3) (2.5,-3) (2.5,-4) };
69 \fill[gray!30] (3,-5) -- (6,-5) -- (6,-4) -- (3,-4) -- (3,-5);
70 \draw[] plot coordinates{ (3,-5) (6,-5) (6,-4) (3,-4) (3,-5) };
72 % Draw second coarse propagation
73 \fill[gray!90] (4,0) -- (4,-1) -- (4.5,-1) -- (4.5,0) -- (4,0);
74 \draw[] plot coordinates{ (4,0) (4,-1) (4.5,-1) (4.5,0) (4,0) };
75 \fill[gray!90] (4.5,-1) -- (4.5,-2) -- (5,-2) -- (5,-1) -- (4.5,-1);
76 \draw[] plot coordinates{ (4.5,-1) (4.5,-2) (5,-2) (5,-1) (4.5,-1) };
77 \fill[gray!90] (5,-2) -- (5,-3) -- (5.5,-3) -- (5.5,-2) -- (5,-2);
78 \draw[] plot coordinates{ (5,-2) (5,-3) (5.5,-3) (5.5,-2) (5,-2) };
79 \fill[gray!90] (5.5,-3) -- (5.5,-4) -- (6,-4) -- (6,-3) -- (5.5,-3);
80 \draw[] plot coordinates{ (5.5,-3) (5.5,-4) (6,-4) (6,-3) (5.5,-3) };
81 \fill[gray!90] (6,-4) -- (6,-5) -- (6.5,-5) -- (6.5,-4) -- (6,-4);
82 \draw[] plot coordinates{ (6,-4) (6,-5) (6.5,-5) (6.5,-4) (6,-4) };
84 % Draw second fine propagation
85 \fill[gray!30] (4.5,-1) -- (7.5,-1) -- (7.5,0) -- (4.5,0) -- (4.5,-1);
86 \draw[] plot coordinates{ (4.5,-1) (7.5,-1) (7.5,0) (4.5,0) (4.5,-1) };
87 \fill[gray!30] (5,-2) -- (8,-2) -- (8,-1) -- (5,-1) -- (5,-2);
88 \draw[] plot coordinates{ (5,-2) (8,-2) (8,-1) (5,-1) (5,-2) };
89 \fill[gray!30] (5.5,-3) -- (8.5,-3) -- (8.5,-2) -- (5.5,-2) -- (5.5,-3);
90 \draw[] plot coordinates{ (5.5,-3) (8.5,-3) (8.5,-2) (5.5,-2) (5.5,-3) };
91 \fill[gray!30] (6,-4) -- (9,-4) -- (9,-3) -- (6,-3) -- (6,-4);
92 \draw[] plot coordinates{ (6,-4) (9,-4) (9,-3) (6,-3) (6,-4) };
93 \fill[gray!30] (6.5,-5) -- (9.5,-5) -- (9.5,-4) -- (6.5,-4) -- (6.5,-5);
94 \draw[] plot coordinates{ (6.5,-5) (9.5,-5) (9.5,-4) (6.5,-4) (6.5,-5) };
96 % Draw third coarse propagation
97 \fill[gray!90] (8,-1) -- (8,-2) -- (8.5,-2) -- (8.5,-1) -- (8,-1);
98 \draw[] plot coordinates{ (8,-1) (8,-2) (8.5,-2) (8.5,-1) (8,-1) };
99 \fill[gray!90] (8.5,-2) -- (8.5,-3) -- (9,-3) -- (9,-2) -- (8.5,-2);
100 \draw[] plot coordinates{ (8.5,-2) (8.5,-3) (9,-3) (9,-2) (8.5,-2) };
101 \fill[gray!90] (9,-3) -- (9,-4) -- (9.5,-4) -- (9.5,-3) -- (9,-3);
102 \draw[] plot coordinates{ (9,-3) (9,-4) (9.5,-4) (9.5,-3) (9,-3) };
103 \fill[gray!90] (9.5,-4) -- (9.5,-5) -- (10,-5) -- (10,-4) -- (9.5,-4);
104 \draw[] plot coordinates{ (9.5,-4) (9.5,-5) (10,-5) (10,-4) (9.5,-4) };
106 % Draw third fine propagation
107 \fill[gray!30] (8.5,-2) -- (11.5,-2) -- (11.5,-1) -- (8.5,-1) -- (8.5,-2);
108 \draw[] plot coordinates{ (8.5,-2) (11.5,-2) (11.5,-1) (8.5,-1) (8.5,-2) };
109 \fill[gray!30] (9,-3) -- (12,-3) -- (12,-2) -- (9,-2) -- (9,-3);
110 \draw[] plot coordinates{ (9,-3) (12,-3) (12,-2) (9,-2) (9,-3) };
111 \fill[gray!30] (9.5,-4) -- (12.5,-4) -- (12.5,-3) -- (9.5,-3) -- (9.5,-4);
112 \draw[] plot coordinates{ (9.5,-4) (12.5,-4) (12.5,-3) (9.5,-3) (9.5,-4) };
113 \fill[gray!30] (10,-5) -- (13,-5) -- (13,-4) -- (10,-4) -- (10,-5);
114 \draw[] plot coordinates{ (10,-5) (13,-5) (13,-4) (10,-4) (10,-5) };
116 % Draw fourth coarse propagation
117 \fill[gray!90] (12,-2) -- (12,-3) -- (12.5,-3) -- (12.5,-2) -- (12,-2);
118 \draw[] plot coordinates{ (12,-2) (12,-3) (12.5,-3) (12.5,-2) (12,-2) };
119 \fill[gray!90] (12.5,-3) -- (12.5,-4) -- (13,-4) -- (13,-3) -- (12.5,-3);
120 \draw[] plot coordinates{ (12.5,-3) (12.5,-4) (13,-4) (13,-3) (12.5,-3) };
121 \fill[gray!90] (13,-4) -- (13,-5) -- (13.5,-5) -- (13.5,-4) -- (13,-4);
122 \draw[] plot coordinates{ (13,-4) (13,-5) (13.5,-5) (13.5,-4) (13,-4) };
124 % Draw fuck-ton of arrows
125 \draw [->,very thick ] (0.5,0.5) -- (0.5,-0.5);
126 \draw [->,very thick ] (1,-0.5) -- (1,-1.5);
127 \draw [->,very thick ] (1.5,-1.5) -- (1.5,-2.5);
128 \draw [->,very thick ] (2,-2.5) -- (2,-3.5);
129 \draw [->,very thick ] (2.5,-3.5) -- (2.5,-4.5);
131 \filldraw [black] (0.5,0.5) circle (0.07);
132 \filldraw [black] (1,-0.5) circle (0.07);
133 \filldraw [black] (1.5,-1.5) circle (0.07);
134 \filldraw [black] (2,-2.5) circle (0.07);
135 \filldraw [black] (2.5,-3.5) circle (0.07);
137 % Draw fuck-ton of arrows
138 \draw [->,very thick ] (3.5,0.5) -- (3.5,-0.5);
139 \draw [->,very thick ] (4.5,-0.5) -- (4.5,-1.5);
140 \draw [->,very thick ] (5,-1.5) -- (5,-2.5);
141 \draw [->,very thick ] (5.5,-2.5) -- (5.5,-3.5);
142 \draw [->,very thick ] (6,-3.5) -- (6,-4.5);
144 \filldraw [black] (3.5,0.5) circle (0.07);
145 \filldraw [black] (4.5,-0.5) circle (0.07);
146 \filldraw [black] (5,-1.5) circle (0.07);
147 \filldraw [black] (5.5,-2.5) circle (0.07);
148 \filldraw [black] (6,-3.5) circle (0.07);
150 % Draw fuck-ton of arrows
151 \draw [->,very thick ] (7.5,-0.5) -- (7.5,-1.5);
152 \draw [->,very thick ] (8.5,-1.5) -- (8.5,-2.5);
153 \draw [->,very thick ] (9,-2.5) -- (9,-3.5);
154 \draw [->,very thick ] (9.5,-3.5) -- (9.5,-4.5);
156 \filldraw [black] (7.5,-0.5) circle (0.07);
157 \filldraw [black] (8.5,-1.5) circle (0.07);
158 \filldraw [black] (9,-2.5) circle (0.07);
159 \filldraw [black] (9.5,-3.5) circle (0.07);
161 % Draw fuck-ton of arrows
162 \draw [->,very thick ] (11.5,-1.5) -- (11.5,-2.5);
163 \draw [->,very thick ] (12.5,-2.5) -- (12.5,-3.5);
164 \draw [->,very thick ] (13,-3.5) -- (13,-4.5);
166 \filldraw [black] (11.5,-1.5) circle (0.07);
167 \filldraw [black] (12.5,-2.5) circle (0.07);
168 \filldraw [black] (13,-3.5) circle (0.07);
171 \draw (0.25,0.5) node {{\scriptsize $T_{\mathcal{G}}$}};
172 \draw (0.75,-0.5) node {{\scriptsize $T_{\mathcal{G}}$}};
173 \draw (1.25,-1.5) node {{\scriptsize $T_{\mathcal{G}}$}};
174 \draw (1.75,-2.5) node {{\scriptsize $T_{\mathcal{G}}$}};
175 \draw (2.25,-3.5) node {{\scriptsize $T_{\mathcal{G}}$}};
176 \draw (2.75,-4.5) node {{\scriptsize $T_{\mathcal{G}}$}};
179 \draw (2.00,0.5) node {{\scriptsize $T_{\mathcal{F}}$}};
180 \draw (2.5,-0.5) node {{\scriptsize $T_{\mathcal{F}}$}};
181 \draw (3.0,-1.5) node {{\scriptsize $T_{\mathcal{F}}$}};
182 \draw (3.5,-2.5) node {{\scriptsize $T_{\mathcal{F}}$}};
183 \draw (4.0,-3.5) node {{\scriptsize $T_{\mathcal{F}}$}};
184 \draw (4.5,-4.5) node {{\scriptsize $T_{\mathcal{F}}$}};
187 \draw (4.25,-0.5) node {{\scriptsize $T_{\mathcal{G}}$}};
188 \draw (4.75,-1.5) node {{\scriptsize $T_{\mathcal{G}}$}};
189 \draw (5.25,-2.5) node {{\scriptsize $T_{\mathcal{G}}$}};
190 \draw (5.75,-3.5) node {{\scriptsize $T_{\mathcal{G}}$}};
191 \draw (6.25,-4.5) node {{\scriptsize $T_{\mathcal{G}}$}};
194 \draw (6.0,-0.5) node {{\scriptsize $T_{\mathcal{F}}$}};
195 \draw (6.5,-1.5) node {{\scriptsize $T_{\mathcal{F}}$}};
196 \draw (7.0,-2.5) node {{\scriptsize $T_{\mathcal{F}}$}};
197 \draw (7.5,-3.5) node {{\scriptsize $T_{\mathcal{F}}$}};
198 \draw (8.0,-4.5) node {{\scriptsize $T_{\mathcal{F}}$}};
201 \draw (8.25,-1.5) node {{\scriptsize $T_{\mathcal{G}}$}};
202 \draw (8.75,-2.5) node {{\scriptsize $T_{\mathcal{G}}$}};
203 \draw (9.25,-3.5) node {{\scriptsize $T_{\mathcal{G}}$}};
204 \draw (9.75,-4.5) node {{\scriptsize $T_{\mathcal{G}}$}};
207 \draw (10.0,-1.5) node {{\scriptsize $T_{\mathcal{F}}$}};
208 \draw (10.5,-2.5) node {{\scriptsize $T_{\mathcal{F}}$}};
209 \draw (11.0,-3.5) node {{\scriptsize $T_{\mathcal{F}}$}};
210 \draw (11.5,-4.5) node {{\scriptsize $T_{\mathcal{F}}$}};
213 \draw (12.25,-2.5) node {{\scriptsize $T_{\mathcal{G}}$}};
214 \draw (12.75,-3.5) node {{\scriptsize $T_{\mathcal{G}}$}};
215 \draw (13.25,-4.5) node {{\scriptsize $T_{\mathcal{G}}$}};
219 %\draw plot coordinates{point sequence};
221 % \draw[smooth] plot coordinates{(0,0),{};
222 % \draw [smooth,very thick] (0,0) -- (4,-3) -- (8,-5) -- (12,-6);
223 % \draw[smooth,domain=0:6.5] plot function{sin(2*x)*exp(-x/4)};
224 % \draw[ycomb,color=gray,line width=0.5cm] plot coordinates{(1,1) (2,2) (3,3)};