Progress bar with parfor and nohup

7 ビュー (過去 30 日間)
CaG
CaG 2020 年 6 月 16 日
回答済み: Edric Ellis 2020 年 6 月 18 日
I'd like to monitor the progress of a script making use of parfor. Unfortunately, since it requires a large amount of computational power and time, I have to launch it on a remote multiprocessor computer, using nohup.
As first attempt, I used fprintf in order to have an output from each of the parallel instances, i.e.
parfor i = 1:N
fprintf('Computing istance %i out of %i\n', i, N)
% Other code
end
and counting the occurences of the word "instance" in the nohup output file, using grep. However, since N is in the order of some hundreds of millions, the output file become huge and so I'd like to avoid it.
Then, I start trying some parfor progress bar I can find on MATLAB Central. However, most of them are made to use a graphic output and the few other ones have some drawbacks if used togheter with nohup (e.g. in the output file I found every single update of the progress bar, so again the output file will be huge).
How can I effectively monitor a parfor, while using nohup?

採用された回答

Edric Ellis
Edric Ellis 2020 年 6 月 18 日
A really simple approach would be just to print out every 1000 iterations. In other words
parfor i = 1:N
if mod(i, 1000) == 0
fprintf('Computing istance %i out of %i\n', i, N);
end
% Other code
end

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeEnvironment and Settings についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by