Warning
This documentation is for an old version of IPython. You can find docs for newer versions here.
Module: parallel.client.remotefunction
¶
Remote Functions and decorators for Views.
2 Classes¶
-
class
IPython.parallel.client.remotefunction.
RemoteFunction
(view, f, block=None, **flags)¶ Bases:
object
Turn an existing function into a remote function.
Parameters: view : View instance
The view to be used for execution
f : callable
The function to be wrapped into a remote function
block : bool [default: None]
Whether to wait for results or not. The default behavior is to use the current
block
attribute ofview
**flags : remaining kwargs are passed to View.temp_flags
-
__init__
(view, f, block=None, **flags)¶
-
-
class
IPython.parallel.client.remotefunction.
ParallelFunction
(view, f, dist='b', block=None, chunksize=None, ordered=True, **flags)¶ Bases:
IPython.parallel.client.remotefunction.RemoteFunction
Class for mapping a function to sequences.
This will distribute the sequences according the a mapper, and call the function on each sub-sequence. If called via map, then the function will be called once on each element, rather that each sub-sequence.
Parameters: view : View instance
The view to be used for execution
f : callable
The function to be wrapped into a remote function
dist : str [default: ‘b’]
The key for which mapObject to use to distribute sequences options are:
- ‘b’ : use contiguous chunks in order
- ‘r’ : use round-robin striping
block : bool [default: None]
Whether to wait for results or not. The default behavior is to use the current
block
attribute ofview
chunksize : int or None
The size of chunk to use when breaking up sequences in a load-balanced manner
ordered : bool [default: True]
Whether the result should be kept in order. If False, results become available as they arrive, regardless of submission order.
**flags
remaining kwargs are passed to View.temp_flags
-
__init__
(view, f, dist='b', block=None, chunksize=None, ordered=True, **flags)¶
-
map
(*sequences)¶ call a function on each element of one or more sequence(s) remotely. This should behave very much like the builtin map, but return an AsyncMapResult if self.block is False.
That means it can take generators (will be cast to lists locally), and mismatched sequence lengths will be padded with None.
4 Functions¶
-
IPython.parallel.client.remotefunction.
remote
(view, block=None, **flags)¶ Turn a function into a remote function.
This method can be used for map:
- In [1]: @remote(view,block=True)
- ...: def func(a): ...: pass
-
IPython.parallel.client.remotefunction.
parallel
(view, dist='b', block=None, ordered=True, **flags)¶ Turn a function into a parallel remote function.
This method can be used for map:
- In [1]: @parallel(view, block=True)
- ...: def func(a): ...: pass
-
IPython.parallel.client.remotefunction.
getname
(f)¶ Get the name of an object.
For use in case of callables that are not functions, and thus may not have __name__ defined.
Order: f.__name__ > f.name > str(f)
-
IPython.parallel.client.remotefunction.
sync_view_results
(f, self, *args, **kwargs)¶ sync relevant results from self.client to our results attribute.
This is a clone of view.sync_results, but for remote functions