Saving files within parfor loop with every iteration

1 view (last 30 days)
Hello and thanks for reading. I am trying to utilize Matlab's convenient parallelization toolbox for some Monte-Carlo sampling (each sample is independent). Unfortunately, I don't think it is possible for my particular problem and would like an expert opinion. My problem is such:
parfor i=1:NSamples
"Generation of Required Files for External Program Execution"
save '/local_directory/New_file' New_Matrix -ACSII
"Execution of External Programs" % Uses 'New_file' for execution
Data = importdata('data.out',delimiterIn,headerlinesIn); % Import data from execution of
% external program.
"Analysis in MATLAB"
save '/local_directory/results' from_analysis -ACSII % This is not necessary but I would
% like to be able to check progress as
% the calculations take days.
end
There is no way of getting around not saving a new file for the external programs. Is it possible to use a 'parfor' loop when saving files to a local directory is necessary? I appreciate any assistance in this matter.
best, josh

Answers (1)

Edric Ellis
Edric Ellis on 22 Nov 2013
I presume the problem is that saving data to the disk is causing clashes. You need to make each worker write its results to a separate file. See this answer for more details:

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!