adding a trap to catch the case where the random generator of the

master is not available on the slave
time-shift
Michel Juillard 2012-08-30 12:24:05 +02:00
parent f77b101d7b
commit 1bac2d34c3
2 changed files with 20 additions and 2 deletions

View File

@ -101,6 +101,16 @@ jloop=0;
for b = fblck:nblck,
jloop=jloop+1;
try
% this will not work if the master uses a random generator not
% available in the slave (different Matlab version or
% Matlab/Octave cluster). Therefor the trap.
set_dynare_seed(options_.DynareRandomStreams.algo);
set_dynare_random_generator_state(record.Seeds(b).Unifor, ...
record.Seeds(b).Normal);
catch
set_dynare_seed(options_.DynareRandomStreams.seed+b);
end
set_dynare_random_generator_state(record.Seeds(b).Unifor,record.Seeds(b).Normal);
if (options_.load_mh_file~=0) && (fline(b)>1) && OpenOldFile(b)
load(['./' MhDirectoryName '/' ModelName '_mh' int2str(NewFile(b)) ...

View File

@ -135,8 +135,16 @@ jloop=0;
JSUM = 0;
for b = fblck:nblck,
jloop=jloop+1;
set_dynare_random_generator_state(record.Seeds(b).Unifor, ...
record.Seeds(b).Normal);
try
% this will not work if the master uses a random generator not
% available in the slave (different Matlab version or
% Matlab/Octave cluster). Therefor the trap.
set_dynare_seed(options_.DynareRandomStreams.algo);
set_dynare_random_generator_state(record.Seeds(b).Unifor, ...
record.Seeds(b).Normal);
catch
set_dynare_seed(options_.DynareRandomStreams.seed+b);
end
if (options_.load_mh_file~=0) && (fline(b)>1) && OpenOldFile(b)
load(['./' MhDirectoryName '/' ModelName '_mh' int2str(NewFile(b)) ...
'_blck' int2str(b) '.mat'])