Clear persistent variables of function on worker

6 visualizaciones (últimos 30 días)
Massimiliano Zanoli
Massimiliano Zanoli el 6 de Mayo de 2023
Respondida: Edric Ellis el 9 de Mayo de 2023
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 ?

Respuesta aceptada

Walter Roberson
Walter Roberson el 6 de Mayo de 2023
parfevalOnAll(@() clear('persistentFunction'), 0)

Más respuestas (1)

Edric Ellis
Edric Ellis el 9 de Mayo de 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

Categorías

Más información sobre Parallel for-Loops (parfor) en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by