taskmap.py
36 lines
| 636 B
| text/x-python
|
PythonLexer
Brian E. Granger
|
r4581 | # <nbformat>2</nbformat> | ||
# <markdowncell> | ||||
# # Load balanced map and parallel function decorator | ||||
# <codecell> | ||||
Thomas Kluyver
|
r6455 | from __future__ import print_function | ||
Brian E. Granger
|
r4581 | |||
MinRK
|
r3690 | from IPython.parallel import Client | ||
Brian E. Granger
|
r4581 | # <codecell> | ||
MinRK
|
r3690 | rc = Client() | ||
v = rc.load_balanced_view() | ||||
Brian E. Granger
|
r4581 | # <codecell> | ||
MinRK
|
r3690 | result = v.map(lambda x: 2*x, range(10)) | ||
Thomas Kluyver
|
r6455 | print("Simple, default map: ", list(result)) | ||
MinRK
|
r3690 | |||
Brian E. Granger
|
r4581 | # <codecell> | ||
MinRK
|
r3690 | ar = v.map_async(lambda x: 2*x, range(10)) | ||
Thomas Kluyver
|
r6455 | print("Submitted tasks, got ids: ", ar.msg_ids) | ||
MinRK
|
r3690 | result = ar.get() | ||
Thomas Kluyver
|
r6455 | print("Using a mapper: ", result) | ||
MinRK
|
r3690 | |||
Brian E. Granger
|
r4581 | # <codecell> | ||
MinRK
|
r3690 | @v.parallel(block=True) | ||
def f(x): return 2*x | ||||
result = f.map(range(10)) | ||||
Thomas Kluyver
|
r6455 | print("Using a parallel function: ", result) | ||
Brian E. Granger
|
r4581 | |||