Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'clean_events' of github.com:Takishipp/simgrid into clean_events
[simgrid.git] / examples / simdag / dag-dotload / sd_dag-dotload.tesh
1 #! ./tesh
2 p Test the loader of DAG written in the DOT format
3
4 # The order differ when executed with gcc's thread sanitizer
5 ! output sort
6
7 $ $SG_TEST_EXENV ${bindir:=.}/dag-dotload/sd_dag-dotload --log=no_loc ${srcdir:=.}/../platforms/two_clusters.xml ${srcdir:=.}/dag-dotload/dag.dot
8 > [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks.
9 > [0.000000] [test/INFO] ------------------- Display all tasks of the loaded DAG ---------------------------
10 > [0.000000] [sd_task/INFO] Displaying task root
11 > [0.000000] [sd_task/INFO]   - state: schedulable not runnable
12 > [0.000000] [sd_task/INFO]   - kind: sequential computation
13 > [0.000000] [sd_task/INFO]   - amount: 0
14 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 0
15 > [0.000000] [sd_task/INFO]   - post-dependencies:
16 > [0.000000] [sd_task/INFO]     0
17 > [0.000000] [sd_task/INFO]     root->5
18 > [0.000000] [sd_task/INFO] Displaying task 0
19 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
20 > [0.000000] [sd_task/INFO]   - kind: sequential computation
21 > [0.000000] [sd_task/INFO]   - amount: 10000000129
22 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
23 > [0.000000] [sd_task/INFO]   - pre-dependencies:
24 > [0.000000] [sd_task/INFO]     root
25 > [0.000000] [sd_task/INFO]   - post-dependencies:
26 > [0.000000] [sd_task/INFO]     0->1
27 > [0.000000] [sd_task/INFO] Displaying task 1
28 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
29 > [0.000000] [sd_task/INFO]   - kind: sequential computation
30 > [0.000000] [sd_task/INFO]   - amount: 10000000131
31 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
32 > [0.000000] [sd_task/INFO]   - pre-dependencies:
33 > [0.000000] [sd_task/INFO]     0->1
34 > [0.000000] [sd_task/INFO]   - post-dependencies:
35 > [0.000000] [sd_task/INFO]     1->2
36 > [0.000000] [sd_task/INFO] Displaying task 2
37 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
38 > [0.000000] [sd_task/INFO]   - kind: sequential computation
39 > [0.000000] [sd_task/INFO]   - amount: 10000000121
40 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
41 > [0.000000] [sd_task/INFO]   - pre-dependencies:
42 > [0.000000] [sd_task/INFO]     1->2
43 > [0.000000] [sd_task/INFO]   - post-dependencies:
44 > [0.000000] [sd_task/INFO]     2->3
45 > [0.000000] [sd_task/INFO] Displaying task 3
46 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
47 > [0.000000] [sd_task/INFO]   - kind: sequential computation
48 > [0.000000] [sd_task/INFO]   - amount: 10000000231
49 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
50 > [0.000000] [sd_task/INFO]   - pre-dependencies:
51 > [0.000000] [sd_task/INFO]     2->3
52 > [0.000000] [sd_task/INFO]   - post-dependencies:
53 > [0.000000] [sd_task/INFO]     4
54 > [0.000000] [sd_task/INFO] Displaying task 4
55 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
56 > [0.000000] [sd_task/INFO]   - kind: sequential computation
57 > [0.000000] [sd_task/INFO]   - amount: 10000000005
58 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
59 > [0.000000] [sd_task/INFO]   - pre-dependencies:
60 > [0.000000] [sd_task/INFO]     3
61 > [0.000000] [sd_task/INFO]   - post-dependencies:
62 > [0.000000] [sd_task/INFO]     4->5
63 > [0.000000] [sd_task/INFO] Displaying task 5
64 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
65 > [0.000000] [sd_task/INFO]   - kind: sequential computation
66 > [0.000000] [sd_task/INFO]   - amount: 10000000046
67 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 2
68 > [0.000000] [sd_task/INFO]   - pre-dependencies:
69 > [0.000000] [sd_task/INFO]     4->5
70 > [0.000000] [sd_task/INFO]     root->5
71 > [0.000000] [sd_task/INFO]   - post-dependencies:
72 > [0.000000] [sd_task/INFO]     6
73 > [0.000000] [sd_task/INFO] Displaying task 6
74 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
75 > [0.000000] [sd_task/INFO]   - kind: sequential computation
76 > [0.000000] [sd_task/INFO]   - amount: 10000000092
77 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
78 > [0.000000] [sd_task/INFO]   - pre-dependencies:
79 > [0.000000] [sd_task/INFO]     5
80 > [0.000000] [sd_task/INFO]   - post-dependencies:
81 > [0.000000] [sd_task/INFO]     6->7
82 > [0.000000] [sd_task/INFO] Displaying task 7
83 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
84 > [0.000000] [sd_task/INFO]   - kind: sequential computation
85 > [0.000000] [sd_task/INFO]   - amount: 10000000041
86 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
87 > [0.000000] [sd_task/INFO]   - pre-dependencies:
88 > [0.000000] [sd_task/INFO]     6->7
89 > [0.000000] [sd_task/INFO]   - post-dependencies:
90 > [0.000000] [sd_task/INFO]     7->8
91 > [0.000000] [sd_task/INFO]     7->end
92 > [0.000000] [sd_task/INFO] Displaying task 8
93 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
94 > [0.000000] [sd_task/INFO]   - kind: sequential computation
95 > [0.000000] [sd_task/INFO]   - amount: 10000000250
96 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
97 > [0.000000] [sd_task/INFO]   - pre-dependencies:
98 > [0.000000] [sd_task/INFO]     7->8
99 > [0.000000] [sd_task/INFO]   - post-dependencies:
100 > [0.000000] [sd_task/INFO]     9
101 > [0.000000] [sd_task/INFO] Displaying task 9
102 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
103 > [0.000000] [sd_task/INFO]   - kind: sequential computation
104 > [0.000000] [sd_task/INFO]   - amount: 10000000079
105 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
106 > [0.000000] [sd_task/INFO]   - pre-dependencies:
107 > [0.000000] [sd_task/INFO]     8
108 > [0.000000] [sd_task/INFO]   - post-dependencies:
109 > [0.000000] [sd_task/INFO]     end
110 > [0.000000] [sd_task/INFO] Displaying task 0->1
111 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
112 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
113 > [0.000000] [sd_task/INFO]   - amount: 10001
114 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
115 > [0.000000] [sd_task/INFO]   - pre-dependencies:
116 > [0.000000] [sd_task/INFO]     0
117 > [0.000000] [sd_task/INFO]   - post-dependencies:
118 > [0.000000] [sd_task/INFO]     1
119 > [0.000000] [sd_task/INFO] Displaying task 1->2
120 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
121 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
122 > [0.000000] [sd_task/INFO]   - amount: 10004
123 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
124 > [0.000000] [sd_task/INFO]   - pre-dependencies:
125 > [0.000000] [sd_task/INFO]     1
126 > [0.000000] [sd_task/INFO]   - post-dependencies:
127 > [0.000000] [sd_task/INFO]     2
128 > [0.000000] [sd_task/INFO] Displaying task 2->3
129 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
130 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
131 > [0.000000] [sd_task/INFO]   - amount: 10002
132 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
133 > [0.000000] [sd_task/INFO]   - pre-dependencies:
134 > [0.000000] [sd_task/INFO]     2
135 > [0.000000] [sd_task/INFO]   - post-dependencies:
136 > [0.000000] [sd_task/INFO]     3
137 > [0.000000] [sd_task/INFO] Displaying task 4->5
138 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
139 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
140 > [0.000000] [sd_task/INFO]   - amount: 10029
141 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
142 > [0.000000] [sd_task/INFO]   - pre-dependencies:
143 > [0.000000] [sd_task/INFO]     4
144 > [0.000000] [sd_task/INFO]   - post-dependencies:
145 > [0.000000] [sd_task/INFO]     5
146 > [0.000000] [sd_task/INFO] Displaying task 6->7
147 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
148 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
149 > [0.000000] [sd_task/INFO]   - amount: 10005
150 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
151 > [0.000000] [sd_task/INFO]   - pre-dependencies:
152 > [0.000000] [sd_task/INFO]     6
153 > [0.000000] [sd_task/INFO]   - post-dependencies:
154 > [0.000000] [sd_task/INFO]     7
155 > [0.000000] [sd_task/INFO] Displaying task 7->8
156 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
157 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
158 > [0.000000] [sd_task/INFO]   - amount: 10000
159 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
160 > [0.000000] [sd_task/INFO]   - pre-dependencies:
161 > [0.000000] [sd_task/INFO]     7
162 > [0.000000] [sd_task/INFO]   - post-dependencies:
163 > [0.000000] [sd_task/INFO]     8
164 > [0.000000] [sd_task/INFO] Displaying task 7->end
165 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
166 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
167 > [0.000000] [sd_task/INFO]   - amount: 10014000
168 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
169 > [0.000000] [sd_task/INFO]   - pre-dependencies:
170 > [0.000000] [sd_task/INFO]     7
171 > [0.000000] [sd_task/INFO]   - post-dependencies:
172 > [0.000000] [sd_task/INFO]     end
173 > [0.000000] [sd_task/INFO] Displaying task root->5
174 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
175 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
176 > [0.000000] [sd_task/INFO]   - amount: 10014000
177 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
178 > [0.000000] [sd_task/INFO]   - pre-dependencies:
179 > [0.000000] [sd_task/INFO]     root
180 > [0.000000] [sd_task/INFO]   - post-dependencies:
181 > [0.000000] [sd_task/INFO]     5
182 > [0.000000] [sd_task/INFO] Displaying task end
183 > [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
184 > [0.000000] [sd_task/INFO]   - kind: sequential computation
185 > [0.000000] [sd_task/INFO]   - amount: 10000000129
186 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 2
187 > [0.000000] [sd_task/INFO]   - pre-dependencies:
188 > [0.000000] [sd_task/INFO]     9
189 > [0.000000] [sd_task/INFO]     7->end
190 > [0.000000] [test/INFO] ------------------- Schedule tasks ---------------------------
191 > [0.000000] [test/INFO] ------------------- Run the schedule ---------------------------
192 > [110.005082] [test/INFO] ------------------- Produce the trace file---------------------------
193 > [110.005082] [test/INFO] Producing the trace of the run into dag.trace
194
195 $ cat ${srcdir:=.}/dag-dotload/dag.trace
196 > [0.000000->0.000000] node-0.acme.org compute 0.000000 flops # root
197 > [0.000000->10.000000] node-1.acme.org compute 10000000129.452715 flops # 0
198 > [10.001680->20.001680] node-10.acme.org compute 10000000131.133657 flops # 1
199 > [20.002360->30.002360] node-11.acme.org compute 10000000121.124870 flops # 2
200 > [30.003040->40.003041] node-12.acme.org compute 10000000230.608025 flops # 3
201 > [40.003041->50.003041] node-13.acme.org compute 10000000004.994019 flops # 4
202 > [50.003721->60.003721] node-14.acme.org compute 10000000046.016401 flops # 5
203 > [60.003721->70.003721] node-15.acme.org compute 10000000091.598791 flops # 6
204 > [70.004401->80.004401] node-16.acme.org compute 10000000040.679438 flops # 7
205 > [80.005081->90.005081] node-17.acme.org compute 10000000250.490017 flops # 8
206 > [90.005081->100.005081] node-18.acme.org compute 10000000079.267649 flops # 9
207 > [10.000000 -> 10.001680] node-1.acme.org -> node-10.acme.org transfer of 10001 bytes # 0->1
208 > [20.001680 -> 20.002360] node-10.acme.org -> node-11.acme.org transfer of 10004 bytes # 1->2
209 > [30.002360 -> 30.003040] node-11.acme.org -> node-12.acme.org transfer of 10002 bytes # 2->3
210 > [50.003041 -> 50.003721] node-13.acme.org -> node-14.acme.org transfer of 10029 bytes # 4->5
211 > [70.003721 -> 70.004401] node-15.acme.org -> node-16.acme.org transfer of 10005 bytes # 6->7
212 > [80.004401 -> 80.005081] node-16.acme.org -> node-17.acme.org transfer of 10000 bytes # 7->8
213 > [80.004401 -> 80.086113] node-16.acme.org -> node-0.acme.org transfer of 10014000 bytes # 7->end
214 > [0.000000 -> 0.081712] node-0.acme.org -> node-14.acme.org transfer of 10014000 bytes # root->5
215 > [100.005081->110.005082] node-0.acme.org compute 10000000129.452715 flops # end
216
217 $ rm -f ${srcdir:=.}/dag-dotload/dag.trace ${srcdir:=.}/dot.dot
218
219 ! expect return 2
220 $ $SG_TEST_EXENV ${bindir:=.}/dag-dotload/sd_dag-dotload --log=no_loc ${srcdir:=.}/../platforms/two_clusters.xml ${srcdir:=.}/dag-dotload/dag_with_cycle.dot
221 > [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks.
222 > [0.000000] [sd_daxparse/WARNING] the task root is not marked
223 > [0.000000] [sd_daxparse/WARNING] the task 1 is in a cycle
224 > [0.000000] [sd_daxparse/WARNING] the task 2 is in a cycle
225 > [0.000000] [sd_daxparse/WARNING] the task 3 is in a cycle
226 > [0.000000] [sd_daxparse/WARNING] the task 4 is in a cycle
227 > [0.000000] [sd_daxparse/WARNING] the task 5 is in a cycle
228 > [0.000000] [sd_daxparse/WARNING] the task 6 is in a cycle
229 > [0.000000] [sd_dotparse/ERROR] The DOT described in dag_with_cycle.dot is not a DAG. It contains a cycle.
230 > [0.000000] [test/CRITICAL] No dot loaded. Do you have a cycle in your graph?