Skip to content

Commit 48bd3d7

Browse files
committed
Merge pull request #418 from enthought/bugfix/fix-examples-for-0.3
Fix examples for 0.3 release
2 parents 490b909 + 822d9dc commit 48bd3d7

File tree

6 files changed

+48
-40
lines changed

6 files changed

+48
-40
lines changed

examples/basic_demo.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,15 @@
77
from __future__ import print_function
88

99
import numpy
10-
import distarray
1110
from distarray.externals.six.moves import input
12-
from distarray import Context
13-
from distarray.client_map import Distribution
14-
from distarray.decorators import local
11+
12+
from distarray.dist import Context, Distribution
13+
from distarray.dist.decorators import local
1514
from pprint import pprint
1615

1716
context = Context()
1817

1918
numpy.set_printoptions(precision=2, linewidth=1000)
20-
context.view.execute("import numpy")
2119

2220

2321
@local
@@ -34,8 +32,8 @@ def local_sin_plus_50(da):
3432

3533
@local
3634
def global_sum(da):
37-
"""Reproducing the `sum` function in densedistarray."""
38-
from distarray.mpiutils import MPI
35+
"""Reproducing the `sum` function in LocalArray."""
36+
from distarray.local.mpiutils import MPI
3937
from distarray.local import LocalArray
4038
from distarray.local.maps import Distribution
4139

examples/julia-set/bench_dist.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,16 @@
1717
from IPython.parallel import Client
1818
from matplotlib import pyplot
1919

20-
from distarray import Context, Distribution
21-
from distarray.decorators import local, vectorize
20+
from distarray.dist import Context, Distribution
21+
from distarray.dist.decorators import local, vectorize
2222

2323

2424
# Make an empty distributed array
2525
def make_empty_da(resolution, dist, context):
2626
"""Create the arr we will build the fractal with."""
27-
distribution = Distribution.from_shape(context, (resolution[0], resolution[1]), dist=dist)
27+
distribution = Distribution.from_shape(context,
28+
(resolution[0], resolution[1]),
29+
dist=dist)
2830
out = context.empty(distribution, dtype=complex)
2931
return out
3032

@@ -35,8 +37,8 @@ def draw_coord(arr, re_ax, im_ax, resolution):
3537
"""Draw the complex coordinate plane"""
3638
re_step = float(re_ax[1] - re_ax[0]) / resolution[0]
3739
im_step = float(im_ax[1] - im_ax[0]) / resolution[1]
38-
for i in arr.maps[0].global_iter:
39-
for j in arr.maps[1].global_iter:
40+
for i in arr.distribution[0].global_iter:
41+
for j in arr.distribution[1].global_iter:
4042
arr.global_index[i, j] = complex(re_ax[0] + re_step*i,
4143
im_ax[0] + im_step*j)
4244
return arr

examples/julia-set/julia_distarray.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,11 @@
1111
"""
1212

1313
import sys
14-
1514
from matplotlib import pyplot
1615

17-
from distarray import Context
18-
from distarray.client_map import Distribution
19-
from distarray.decorators import local, vectorize
16+
from distarray.dist import Context, Distribution
17+
from distarray.dist.decorators import local, vectorize
18+
2019

2120
context = Context()
2221
with context.view.sync_imports():

examples/make_distarray.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
Create a distarray.
99
"""
1010

11-
from distarray.context import Context
12-
from distarray.client_map import Distribution
11+
from distarray.dist import Context, Distribution
1312

1413

1514
c = Context()

examples/pi-montecarlo/pi_distarray.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,37 @@
1010
$ python pi_distarray.py <number of points>
1111
"""
1212

13-
import sys
13+
from __future__ import division
1414

15-
import distarray
16-
from distarray.random import Random
15+
import sys
1716

1817
from util import timer
1918

20-
context = distarray.Context()
19+
from distarray.dist import Context, Distribution, hypot
20+
from distarray.dist.random import Random
21+
22+
23+
context = Context()
2124
random = Random(context)
2225

2326

27+
def local_sum(mask):
28+
return mask.ndarray.sum()
29+
30+
2431
@timer
2532
def calc_pi(n):
2633
"""Estimate pi using distributed NumPy arrays."""
27-
x = random.rand((n,))
28-
y = random.rand((n,))
29-
r = distarray.hypot(x, y)
30-
return 4 * float((r < 1.).sum())/n
34+
distribution = Distribution.from_shape(context=context, shape=(n,))
35+
x = random.rand(distribution)
36+
y = random.rand(distribution)
37+
r = hypot(x, y)
38+
mask = (r < 1)
39+
lsum = context.apply(local_sum, (mask.key,))
40+
return 4 * sum(lsum) / n
41+
3142

3243
if __name__ == '__main__':
3344
N = int(sys.argv[1])
3445
result, time = calc_pi(N)
3546
print('time : %3.4g\nresult: %.7f' % (time, result))
36-
context.view.client.purge_everything()

examples/plot_distarray_protocol.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -183,23 +183,23 @@ def rst_table(rows, cols, lines_list):
183183

184184
# Examine the array on all the engines.
185185
cmd = 'distbuffer = %s.__distarray__()' % (array.key)
186-
context._execute(cmd)
186+
context._execute(cmd, targets=context.targets)
187187
cmd = 'db_keys = list(distbuffer.keys())'
188-
context._execute(cmd)
188+
context._execute(cmd, targets=context.targets)
189189
cmd = 'db_version = distbuffer["__version__"]'
190-
context._execute(cmd)
190+
context._execute(cmd, targets=context.targets)
191191
cmd = 'db_buffer = distbuffer["buffer"]'
192-
context._execute(cmd)
192+
context._execute(cmd, targets=context.targets)
193193
cmd = 'db_dim_data = distbuffer["dim_data"]'
194-
context._execute(cmd)
194+
context._execute(cmd, targets=context.targets)
195195
cmd = 'db_coords = %s.cart_coords' % (array.key)
196-
context._execute(cmd)
196+
context._execute(cmd, targets=context.targets)
197197
# Get data from each engine.
198-
db_keys = context._pull('db_keys')
199-
db_version = context._pull('db_version')
200-
db_buffer = context._pull('db_buffer')
201-
db_dim_data = context._pull('db_dim_data')
202-
db_coords = context._pull('db_coords')
198+
db_keys = context._pull('db_keys', targets=context.targets)
199+
db_version = context._pull('db_version', targets=context.targets)
200+
db_buffer = context._pull('db_buffer', targets=context.targets)
201+
db_dim_data = context._pull('db_dim_data', targets=context.targets)
202+
db_coords = context._pull('db_coords', targets=context.targets)
203203
# Get local ndarrays.
204204
db_ndarrays = array.get_ndarrays()
205205

@@ -336,8 +336,8 @@ def shape_text(shape):
336336
# This is duplicating work in print_array_documentation(),
337337
# but it is needed for the local array plots.
338338
cmd = 'process_coords = %s.cart_coords' % (array.key)
339-
context._execute(cmd)
340-
process_coords = context._pull('process_coords')
339+
context._execute(cmd, targets=context.targets)
340+
process_coords = context._pull('process_coords', targets=context.targets)
341341

342342
# Plot title and axis labels.
343343
plot_title = title + ' ' + shape_text(shape) + '\n'

0 commit comments

Comments
 (0)