About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
qiskit.tools.parallel_map
parallel_map(task, values, task_args=(), task_kwargs={}, num_processes=2)
Parallel execution of a mapping of values to the function task. This is functionally equivalent to:
result = [task(value, *task_args, **task_kwargs) for value in values]
On Windows this function defaults to a serial implementation to avoid the overhead from spawning processes in Windows.
Parameters
- task (func) – Function that is to be called for each value in
values
. - values (array_like) – List or array of values for which the
task
function is to be evaluated. - task_args (list) – Optional additional arguments to the
task
function. - task_kwargs (dict) – Optional additional keyword argument to the
task
function. - num_processes (int) – Number of processes to spawn.
Returns
The result list contains the value of
task(value, *task_args, **task_kwargs)
for
each value in values
.
Return type
result
Raises
QiskitError – If user interrupts via keyboard.
Events:
terra.parallel.start: The collection of parallel tasks are about to start. terra.parallel.update: One of the parallel task has finished. terra.parallel.finish: All the parallel tasks have finished.
Examples
import time
from qiskit.tools.parallel import parallel_map
def func(_):
time.sleep(0.1)
return 0
parallel_map(func, list(range(10)));
Was this page helpful?
Report a bug or request content on GitHub.