Execute function asynchronously on all workers in parallel pool
F = parfevalOnAll(p,fcn,numout,in1,in2,...)
F = parfevalOnAll(fcn,numout,in1,in2,...)
F = parfevalOnAll(p,fcn,numout,in1,in2,...) requests
the asynchronous execution of the function fcn on
all workers in the parallel pool p, expecting numout output
arguments from each worker and supplying input arguments in1,in2,... to
each worker. F is a parallel.FevalOnAllFuture object,
from which you can obtain the results when all workers have completed
executing fcn.
F = parfevalOnAll(fcn,numout,in1,in2,...) requests
asynchronous execution on all workers in the current parallel pool.
If no pool exists, it starts a new parallel pool, unless your parallel
preferences disable automatic creation of pools.
Use parfevalOnAll instead
of parfor or spmd if you
want to use clear.
This preserves workspace transparency. See Ensure Transparency in parfor-Loops.
Unload a mex file before deleting temporary
folders for distributing simulations:
parfevalOnAll(@clear, 0, 'mex');
Close all Simulink models on all workers:
p = gcp(); % Get the current parallel pool f = parfevalOnAll(p,@bdclose,0,'all'); % No output arguments, but you might want to wait for completion wait(f);
cancel | fetchNext | fetchOutputs | parallel.pool.Constant | parfeval | parpool | wait