import numpy as np
N = 2000
a = np.random.randn(N, N)
b = np.random.randn(N, N)
c = np.dot(a,b)
from IPython.parallel import Client
cl = Client()
cl.ids
[0, 1, 2]
v = cl[:]
v.execute('import numpy as np', block=True)
v.push(dict(a=a, b=b), block=True)
[None, None, None]
r = v.execute('c = np.dot(a,b); print c', block=True)
r.display_outputs()
[stdout:0] [[ -4.67202217 104.39252912 -78.37783997 ..., -29.30709274 6.66403977 29.92526411] [ 39.22517891 73.37959579 -140.66938625 ..., -30.40772693 9.21601775 29.80644042] [ 31.60094895 -26.90207753 42.07903369 ..., 6.16564342 -40.9135798 -57.82278587] ..., [ -25.57059809 -63.64479316 22.76541772 ..., 1.68819694 -12.9543937 -61.07450388] [ 15.3646617 57.48457183 -34.15856279 ..., 7.34530517 -16.26106107 -17.58811896] [ -13.26202943 75.42065094 74.86911918 ..., -0.55862744 6.72326022 10.38620045]] [stdout:1] [[ -4.67202217 104.39252912 -78.37783997 ..., -29.30709274 6.66403977 29.92526411] [ 39.22517891 73.37959579 -140.66938625 ..., -30.40772693 9.21601775 29.80644042] [ 31.60094895 -26.90207753 42.07903369 ..., 6.16564342 -40.9135798 -57.82278587] ..., [ -25.57059809 -63.64479316 22.76541772 ..., 1.68819694 -12.9543937 -61.07450388] [ 15.3646617 57.48457183 -34.15856279 ..., 7.34530517 -16.26106107 -17.58811896] [ -13.26202943 75.42065094 74.86911918 ..., -0.55862744 6.72326022 10.38620045]] [stdout:2] [[ -4.67202217 104.39252912 -78.37783997 ..., -29.30709274 6.66403977 29.92526411] [ 39.22517891 73.37959579 -140.66938625 ..., -30.40772693 9.21601775 29.80644042] [ 31.60094895 -26.90207753 42.07903369 ..., 6.16564342 -40.9135798 -57.82278587] ..., [ -25.57059809 -63.64479316 22.76541772 ..., 1.68819694 -12.9543937 -61.07450388] [ 15.3646617 57.48457183 -34.15856279 ..., 7.34530517 -16.26106107 -17.58811896] [ -13.26202943 75.42065094 74.86911918 ..., -0.55862744 6.72326022 10.38620045]]
dot = v.pull('c', block=True)
print dot
[array([[ -4.67202217, 104.39252912, -78.37783997, ..., -29.30709274, 6.66403977, 29.92526411], [ 39.22517891, 73.37959579, -140.66938625, ..., -30.40772693, 9.21601775, 29.80644042], [ 31.60094895, -26.90207753, 42.07903369, ..., 6.16564342, -40.9135798 , -57.82278587], ..., [ -25.57059809, -63.64479316, 22.76541772, ..., 1.68819694, -12.9543937 , -61.07450388], [ 15.3646617 , 57.48457183, -34.15856279, ..., 7.34530517, -16.26106107, -17.58811896], [ -13.26202943, 75.42065094, 74.86911918, ..., -0.55862744, 6.72326022, 10.38620045]]), array([[ -4.67202217, 104.39252912, -78.37783997, ..., -29.30709274, 6.66403977, 29.92526411], [ 39.22517891, 73.37959579, -140.66938625, ..., -30.40772693, 9.21601775, 29.80644042], [ 31.60094895, -26.90207753, 42.07903369, ..., 6.16564342, -40.9135798 , -57.82278587], ..., [ -25.57059809, -63.64479316, 22.76541772, ..., 1.68819694, -12.9543937 , -61.07450388], [ 15.3646617 , 57.48457183, -34.15856279, ..., 7.34530517, -16.26106107, -17.58811896], [ -13.26202943, 75.42065094, 74.86911918, ..., -0.55862744, 6.72326022, 10.38620045]]), array([[ -4.67202217, 104.39252912, -78.37783997, ..., -29.30709274, 6.66403977, 29.92526411], [ 39.22517891, 73.37959579, -140.66938625, ..., -30.40772693, 9.21601775, 29.80644042], [ 31.60094895, -26.90207753, 42.07903369, ..., 6.16564342, -40.9135798 , -57.82278587], ..., [ -25.57059809, -63.64479316, 22.76541772, ..., 1.68819694, -12.9543937 , -61.07450388], [ 15.3646617 , 57.48457183, -34.15856279, ..., 7.34530517, -16.26106107, -17.58811896], [ -13.26202943, 75.42065094, 74.86911918, ..., -0.55862744, 6.72326022, 10.38620045]])]
assert np.allclose(c, dot[0])
assert np.allclose(dot[0], dot[1])
assert np.allclose(dot[1], dot[2])