derivkit.utils.concurrency module¶
Concurrency management for derivative computations.
- derivkit.utils.concurrency.parallel_execute(worker: Callable[[...], Any], arg_tuples: Sequence[Tuple[Any, ...]], *, outer_workers: int = 1, inner_workers: int | None = None) list[Any]¶
Run
worker(*args)for each tuple in arg_tuples with outer threads.Inner worker setting is applied to the context, so calls inside worker will see the resolved inner worker count.
- derivkit.utils.concurrency.resolve_inner_from_outer(w_params: int) int | None¶
Resolves the number of inner derivative workers based on outer workers and defaults.
- Parameters:
w_params – Number of outer derivative workers.
- Returns:
Number of inner derivative workers, or None for automatic policy.
- derivkit.utils.concurrency.set_default_inner_derivative_workers(n: int | None) None¶
Sets the module-wide default for inner derivative workers.
- Parameters:
n – Number of inner derivative workers, or None for automatic policy.
- Returns:
None
- derivkit.utils.concurrency.set_inner_derivative_workers(n: int | None) Iterator[int | None]¶
Temporarily set the number of inner derivative workers.
- Parameters:
n – Number of inner derivative workers, or
Nonefor automatic policy.- Yields:
int | None – The previous worker setting (restored on exit).