##// END OF EJS Templates
Adding examples from ipython1-dev to docs/examples/kernel. These ...
Adding examples from ipython1-dev to docs/examples/kernel. These examples show how to use IPython for parallel computing. I need to update the import statements and make sure they work with the merged code. But here they are.

File last commit:

r1337:53a3e331
r1337:53a3e331
Show More
multiengine2.ipy
38 lines | 1.0 KiB | text/plain | TextLexer
#-------------------------------------------------------------------------------
# Imports
#-------------------------------------------------------------------------------
import time
import numpy
import ipython1.kernel.magic
from ipython1.kernel import client
from ipython1.kernel.error import *
mec = client.MultiEngineClient()
#-------------------------------------------------------------------------------
# Setup
#-------------------------------------------------------------------------------
mec.reset()
# print mec.keys()
mec.activate()
# mec.block=True
mec.get_ids()
n = len(mec)
assert n >= 4, "Not Enough Engines: %i, 4 needed for this script"%n
mec.block=False
pr1 = mec.execute('import time')
pr2 = mec.execute('time.sleep(5)')
pr3 = mec.push(dict(a=10,b=30,c=range(20000),d='The dog went swimming.'))
pr4 = mec.pull(('a','b','d'))
print "Try a non-blocking get_result"
assert pr4.get_result(block=False, default='not done')=='not done'
print "Now wait for all the results"
mec.barrier((pr1,pr2,pr3,pr4))
print "The last pull got:", pr4.r