Clear persistent variables of function on worker

1 回表示 (過去 30 日間)
Massimiliano Zanoli
Massimiliano Zanoli 2023 年 5 月 6 日
回答済み: Edric Ellis 2023 年 5 月 9 日
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 ?

採用された回答

Walter Roberson
Walter Roberson 2023 年 5 月 6 日
parfevalOnAll(@() clear('persistentFunction'), 0)

その他の回答 (1 件)

Edric Ellis
Edric Ellis 2023 年 5 月 9 日
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

カテゴリ

Help Center および File ExchangeMATLAB Parallel Server についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by