Skip to content

Solve embarrassingly parallel problems in a serial, parallel or distributed fashion with a single function call.

License

Notifications You must be signed in to change notification settings

robert-haas/unified-map

Repository files navigation

Unified Map

Unified
Many implementations, one way of access.
Map
Apply a function to a list of arguments and collect the results -- serial, parallel or distributed.

This package provides reasonably simple syntax for a frequent programming task which is implemented in various places (built-in, standard library, external libraries). Here are three descriptions of this task:

  • Map a list of inputs to a list of results via a user-provided function.
  • Apply a given function to a list of arguments to get a list of return values in the same order.
  • A black-box function is evaluated with different inputs and the outputs are collected.

In general, this is a so-called "pleasingly parallel problem" (aka "embarrassingly parallel" or "pleasingly parallel") because it is straightforward to separate it into independend subtasks. For this reason, and due to its frequent occurrence, it is recognized as a programming idiom ("parallel map", "parallel for loop") in parallel computing that can equally simple be applied in distributed computing. This package allows to do so with a focus on simplicity of use.

Project references

Documentation GitHub Page
  Built with Sphinx
Source code GitHub
  License Apache 2.0 | Release version | Release date
Package PyPI
  Python versions | Status | Format
Authors Robert Haas
  Profile on GitHub | e-Mail: robert.haas@protonmail.com

About

Solve embarrassingly parallel problems in a serial, parallel or distributed fashion with a single function call.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published