Source code for deepdish.parallel.fallback

from __future__ import division, print_function, absolute_import

import itertools as itr

__all__ = ['rank', 'imap_unordered', 'imap',
           'starmap_unordered', 'starmap', 'main']


[docs]def rank(): """ Returns MPI rank. If the MPI backend is not used, it will always return 0. """ return 0
[docs]def imap_unordered(f, params): """ This can return the elements in any particular order. This has a lower memory footprint than the ordered version and will be more responsive in terms of printing the results. For instance, if you run the ordered version, and the first batch is particularly slow, you won't see any feedback for a long time. """ return map(f, params)
[docs]def imap(f, params): """ Analogous to `itertools.imap` (Python 2) and `map` (Python 3), but run in parallel. """ return map(f, params)
[docs]def starmap_unordered(f, params): """ Similar to `imap_unordered`, but it will unpack the parameters. That is, it will call ``f(*p)``, for each `p` in `params`. """ return itr.starmap(f, params)
[docs]def starmap(f, params): """ Analogous to `itertools.starmap`, but run in parallel. """ return itr.starmap(f, params)
[docs]def main(name=None): """ Main function. Example use: >>> if gv.parallel.main(__name__): ... res = gv.parallel.imap_unordered(f, params) """ return name == '__main__'