1
+ {
2
+ "metadata" : {
3
+ "name" : " " ,
4
+ "signature" : " sha256:235c7ba639f997642f2003a7d4d2a6512f5fe9e1441f16f8441fb5d66530c78c"
5
+ },
6
+ "nbformat" : 3 ,
7
+ "nbformat_minor" : 0 ,
8
+ "worksheets" : [
9
+ {
10
+ "cells" : [
11
+ {
12
+ "cell_type" : " heading" ,
13
+ "level" : 1 ,
14
+ "metadata" : {},
15
+ "source" : [
16
+ " DAG Job Accounting Time Comparison"
17
+ ]
18
+ },
19
+ {
20
+ "cell_type" : " markdown" ,
21
+ "metadata" : {},
22
+ "source" : [
23
+ " Brendan Smithyman | January 2015"
24
+ ]
25
+ },
26
+ {
27
+ "cell_type" : " code" ,
28
+ "collapsed" : false ,
29
+ "input" : [
30
+ " import numpy as np\n " ,
31
+ " import networkx\n " ,
32
+ " from zephyr.Problem import SeisFDFDProblem\n " ,
33
+ " import time"
34
+ ],
35
+ "language" : " python" ,
36
+ "metadata" : {},
37
+ "outputs" : [],
38
+ "prompt_number" : 1
39
+ },
40
+ {
41
+ "cell_type" : " heading" ,
42
+ "level" : 2 ,
43
+ "metadata" : {},
44
+ "source" : [
45
+ " Plotting configuration"
46
+ ]
47
+ },
48
+ {
49
+ "cell_type" : " code" ,
50
+ "collapsed" : false ,
51
+ "input" : [
52
+ " import matplotlib.pyplot as plt\n " ,
53
+ " import matplotlib.cm as cm\n " ,
54
+ " import matplotlib\n " ,
55
+ " %matplotlib inline"
56
+ ],
57
+ "language" : " python" ,
58
+ "metadata" : {},
59
+ "outputs" : [],
60
+ "prompt_number" : 2
61
+ },
62
+ {
63
+ "cell_type" : " heading" ,
64
+ "level" : 2 ,
65
+ "metadata" : {},
66
+ "source" : [
67
+ " System / modelling configuration"
68
+ ]
69
+ },
70
+ {
71
+ "cell_type" : " code" ,
72
+ "collapsed" : false ,
73
+ "input" : [
74
+ " cellSize = 1 # m\n " ,
75
+ " freqs = [2e2] # Hz\n " ,
76
+ " density = 2700 # units of density\n " ,
77
+ " Q = np.inf # can be inf\n " ,
78
+ " nx = 164 # count\n " ,
79
+ " nz = 264 # count\n " ,
80
+ " freeSurf = [False, False, False, False] # t r b l\n " ,
81
+ " dims = (nx,nz) # tuple\n " ,
82
+ " nPML = 32\n " ,
83
+ " rho = np.fliplr(np.ones(dims) * density)\n " ,
84
+ " nfreq = len(freqs) # number of frequencies\n " ,
85
+ " nky = 48 # number of y-directional plane-wave components\n " ,
86
+ " nsp = nfreq * nky # total number of 2D subproblems\n " ,
87
+ " \n " ,
88
+ " velocity = 2500 # m/s\n " ,
89
+ " vanom = 500 # m/s\n " ,
90
+ " cPert = np.zeros(dims)\n " ,
91
+ " cPert[(nx/2)-20:(nx/2)+20,(nz/2)-20:(nz/2)+20] = vanom\n " ,
92
+ " c = np.fliplr(np.ones(dims) * velocity)\n " ,
93
+ " cFlat = c\n " ,
94
+ " c += np.fliplr(cPert)\n " ,
95
+ " cTrue = c\n " ,
96
+ " \n " ,
97
+ " srcs = np.array([np.ones(101)*32, np.zeros(101), np.linspace(32, 232, 101)]).T\n " ,
98
+ " recs = np.array([np.ones(101)*132, np.zeros(101), np.linspace(32, 232, 101)]).T\n " ,
99
+ " nsrc = len(srcs)\n " ,
100
+ " nrec = len(recs)\n " ,
101
+ " recmode = 'fixed'\n " ,
102
+ " \n " ,
103
+ " geom = {\n " ,
104
+ " 'src': srcs,\n " ,
105
+ " 'rec': recs,\n " ,
106
+ " 'mode': 'fixed',\n " ,
107
+ " }\n " ,
108
+ " \n " ,
109
+ " cache = False\n " ,
110
+ " cacheDir = '.'\n " ,
111
+ " \n " ,
112
+ " parFac = 1\n " ,
113
+ " \n " ,
114
+ " # Base configuration for all subproblems\n " ,
115
+ " systemConfig = {\n " ,
116
+ " 'dx': cellSize, # m\n " ,
117
+ " 'dz': cellSize, # m\n " ,
118
+ " 'c': c.T, # m/s\n " ,
119
+ " 'rho': rho.T, # density\n " ,
120
+ " 'Q': Q, # can be inf\n " ,
121
+ " 'nx': nx, # count\n " ,
122
+ " 'nz': nz, # count\n " ,
123
+ " 'freeSurf': freeSurf, # t r b l\n " ,
124
+ " 'nPML': nPML,\n " ,
125
+ " 'geom': geom,\n " ,
126
+ " 'cache': cache,\n " ,
127
+ " 'cacheDir': cacheDir,\n " ,
128
+ " 'freqs': freqs,\n " ,
129
+ " 'nky': nky,\n " ,
130
+ " 'parFac': parFac,\n " ,
131
+ " }"
132
+ ],
133
+ "language" : " python" ,
134
+ "metadata" : {},
135
+ "outputs" : [],
136
+ "prompt_number" : 3
137
+ },
138
+ {
139
+ "cell_type" : " code" ,
140
+ "collapsed" : false ,
141
+ "input" : [
142
+ " sp = SeisFDFDProblem(systemConfig)"
143
+ ],
144
+ "language" : " python" ,
145
+ "metadata" : {},
146
+ "outputs" : [],
147
+ "prompt_number" : 4
148
+ },
149
+ {
150
+ "cell_type" : " code" ,
151
+ "collapsed" : false ,
152
+ "input" : [
153
+ " tick = time.time()\n " ,
154
+ " jobs, G = sp.forwardAccumulate()\n " ,
155
+ " sp.par['lview'].wait([j for i in jobs['endJobs'].values() for j in i])\n " ,
156
+ " tock = time.time()\n " ,
157
+ " print('Time elapsed: %r'%(tock - tick))"
158
+ ],
159
+ "language" : " python" ,
160
+ "metadata" : {},
161
+ "outputs" : [
162
+ {
163
+ "output_type" : " stream" ,
164
+ "stream" : " stdout" ,
165
+ "text" : [
166
+ " Time elapsed: 350.7763981819153\n "
167
+ ]
168
+ }
169
+ ],
170
+ "prompt_number" : 5
171
+ },
172
+ {
173
+ "cell_type" : " code" ,
174
+ "collapsed" : false ,
175
+ "input" : [
176
+ " parFac = 2\n " ,
177
+ " systemConfig.update({'parFac': parFac})"
178
+ ],
179
+ "language" : " python" ,
180
+ "metadata" : {},
181
+ "outputs" : [],
182
+ "prompt_number" : 6
183
+ },
184
+ {
185
+ "cell_type" : " code" ,
186
+ "collapsed" : false ,
187
+ "input" : [
188
+ " tick = time.time()\n " ,
189
+ " jobs, G = sp.forwardAccumulate()\n " ,
190
+ " sp.par['lview'].wait([j for i in jobs['endJobs'].values() for j in i])\n " ,
191
+ " tock = time.time()\n " ,
192
+ " print('Time elapsed: %r'%(tock - tick))"
193
+ ],
194
+ "language" : " python" ,
195
+ "metadata" : {},
196
+ "outputs" : [
197
+ {
198
+ "output_type" : " stream" ,
199
+ "stream" : " stdout" ,
200
+ "text" : [
201
+ " Time elapsed: 343.0300979614258\n "
202
+ ]
203
+ }
204
+ ],
205
+ "prompt_number" : 7
206
+ },
207
+ {
208
+ "cell_type" : " code" ,
209
+ "collapsed" : false ,
210
+ "input" : [
211
+ " parFac = 3\n " ,
212
+ " systemConfig.update({'parFac': parFac})"
213
+ ],
214
+ "language" : " python" ,
215
+ "metadata" : {},
216
+ "outputs" : [],
217
+ "prompt_number" : 8
218
+ },
219
+ {
220
+ "cell_type" : " code" ,
221
+ "collapsed" : false ,
222
+ "input" : [
223
+ " tick = time.time()\n " ,
224
+ " jobs, G = sp.forwardAccumulate()\n " ,
225
+ " sp.par['lview'].wait([j for i in jobs['endJobs'].values() for j in i])\n " ,
226
+ " tock = time.time()\n " ,
227
+ " print('Time elapsed: %r'%(tock - tick))"
228
+ ],
229
+ "language" : " python" ,
230
+ "metadata" : {},
231
+ "outputs" : [
232
+ {
233
+ "output_type" : " stream" ,
234
+ "stream" : " stdout" ,
235
+ "text" : [
236
+ " Time elapsed: 350.03370904922485\n "
237
+ ]
238
+ }
239
+ ],
240
+ "prompt_number" : 9
241
+ },
242
+ {
243
+ "cell_type" : " code" ,
244
+ "collapsed" : false ,
245
+ "input" : [],
246
+ "language" : " python" ,
247
+ "metadata" : {},
248
+ "outputs" : []
249
+ }
250
+ ],
251
+ "metadata" : {}
252
+ }
253
+ ]
254
+ }
0 commit comments