Multiprocessing¶
Functions for working with multiprocessing.
apply_args_and_kwargs ¶
apply_args_and_kwargs(fn, args, kwargs)
Invoke a callable with positional and keyword arguments.
Used as the target function for pool.starmap.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
fn
|
The callable to invoke. |
required | |
args
|
Iterable[Any]
|
Positional arguments. |
required |
kwargs
|
Mapping[str, Any]
|
Keyword arguments. |
required |
Returns:
| Type | Description |
|---|---|
|
The return value of |
Source code in src/aibs_informatics_core/utils/multiprocessing.py
39 40 41 42 43 44 45 46 47 48 49 50 51 52 | |
parallel_starmap ¶
parallel_starmap(
callable,
arguments,
keyword_arguments=None,
pool_class=None,
processes=None,
chunk_size=None,
callback=None,
error_callback=None,
)
Execute a callable in parallel across a pool of worker processes.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
callable
|
Callable[[Any], U]
|
The function to call for each set of arguments. |
required |
arguments
|
Sequence[T]
|
A sequence of argument tuples. |
required |
keyword_arguments
|
Sequence[Mapping[str, Any]] | Mapping[str, Any] | None
|
Keyword arguments, either a single mapping applied to all calls or a sequence of mappings. |
None
|
pool_class
|
type[Pool] | None
|
The pool class to use. Defaults to |
None
|
processes
|
int | None
|
Number of worker processes. |
None
|
chunk_size
|
int | None
|
Chunk size for |
None
|
callback
|
Callable[[list[T]], Any] | None
|
Optional callback invoked with results on success. |
None
|
error_callback
|
Callable[[BaseException], None] | None
|
Optional callback invoked on error. |
None
|
Returns:
| Type | Description |
|---|---|
list[U]
|
A list of results from all invocations. |
Source code in src/aibs_informatics_core/utils/multiprocessing.py
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | |
starmap_with_kwargs ¶
starmap_with_kwargs(pool, fn, args_iter, kwargs_iter)
Apply a function using pool.starmap with both positional and keyword arguments.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
pool
|
A multiprocessing pool instance. |
required | |
fn
|
Callable
|
The callable to invoke. |
required |
args_iter
|
Sequence[Iterable[Any]]
|
A sequence of positional argument iterables, one per call. |
required |
kwargs_iter
|
Sequence[Mapping[str, Any]]
|
A sequence of keyword argument mappings, one per call. |
required |
Returns:
| Type | Description |
|---|---|
|
A list of results from each invocation. |
Source code in src/aibs_informatics_core/utils/multiprocessing.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | |