Why parfor could read the deleted script?

1 view (last 30 days)
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
Wiley Mosley
Wiley Mosley on 30 Oct 2019
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.

Accepted Answer

Matt J
Matt J on 31 Oct 2019
Edited: Matt J on 31 Oct 2019
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

More Answers (0)

Categories

Find more on Parallel for-Loops (parfor) 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!