MATLAB Answers

0

Why parfor could read the deleted script?

Asked by Zhida DENG on 30 Oct 2019
Latest activity Edited by Matt J
on 31 Oct 2019
Hi all,
I was debuging my algorithm and it was found that the "parfor loop" could read a deleted script (and this does not happening on "for loop" ). I guess that is because there is a script has same name as deleted script exist in other folders which I was added the path before (i cant delete the). I have tried restart Matlabt, shut-down the parallel pool, and used "restoredefaultpath" to resotre the default path, but these didn't solve my problem.
Does any one know how to resolve it?
Thanks in advance!!
Regards
zd

  1 Comment

If you know where the path is to the script that you don't want then you could remove the path.
rmpath(FOLDERNAME)
If you really don't want to use it, then just comment out that call in the code. Hopefully the rmpath helps.

Sign in to comment.

1 Answer

Answer by Matt J
on 31 Oct 2019
Edited by Matt J
on 31 Oct 2019
 Accepted Answer

Remember that in a parfor loop, you are responsible for ensuring that no operations in the loop that depend on the order of execution of the loop iterations - a parfor loop can decide to execute the loop iterations in any order it wishes, and you have no control over this. If you see a difference in behavior of for-loop and a parfor-loop, it is often because you have not met this condition.
A simple test is to run the loop as an ordinary for-loop, but randomize the order, and see if something funny happens:
for i=randperm(1:N)
....
end

  0 Comments

Sign in to comment.