Clear persistent variables of function on worker

1 view (last 30 days)
I need to clear the persistent variables of a function on all workers after having called it from a parallelized statement.
parfor n = 1 : N
persistentFunction()
end
spmd
clear persistentFunction
end
The above will not work because clear cannot be called from an spmd statement.
How can I clear persistentFunction ?

Accepted Answer

Walter Roberson
Walter Roberson on 6 May 2023
parfevalOnAll(@() clear('persistentFunction'), 0)

More Answers (1)

Edric Ellis
Edric Ellis on 9 May 2023
Whenever you issue a clear command at the client, the same clear command is issued on the workers. So you can simply do
clear persistentFunction

Categories

Find more on MATLAB Parallel Server in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!