masterParallel.m: assign explicit empty window title to allow passing full path in quoted strings

Closes https://git.dynare.org/Dynare/dynare/-/issues/1887
remove-submodule
Johannes Pfeifer 2023-05-23 19:07:28 -04:00
parent 03db691ab3
commit ad2d986c5e
2 changed files with 10 additions and 6 deletions

View File

@ -270,7 +270,9 @@ lines starting with a hashtag (#).
.. option:: MatlabOctavePath = PATH_AND_FILE .. option:: MatlabOctavePath = PATH_AND_FILE
The path to the MATLAB or Octave executable. The default value The path to the MATLAB or Octave executable. The default value
is ``matlab``. is ``matlab`` as MATLAB's executable is typically in the %PATH% environment
variable. When using full paths on Windows, you may need to enclose the path
in quoted strings, e.g. ``MatlabOctavePath="C:\Program Files\MATLAB\R2023a\bin\matlab.exe"``
.. option:: NumberOfThreadsPerJob = INTEGER .. option:: NumberOfThreadsPerJob = INTEGER
@ -323,7 +325,9 @@ Windows Step-by-Step Guide
========================== ==========================
This section outlines the steps necessary on most Windows systems to This section outlines the steps necessary on most Windows systems to
set up Dynare for parallel execution. set up Dynare for parallel execution. Note that the steps 3 to 6 are
required unless parallel execution is confined to a local pool
with the ``parallel_use_psexec=false`` option.
1. Write a configuration file containing the options you want. A 1. Write a configuration file containing the options you want. A
mimimum working example setting up a cluster consisting of two mimimum working example setting up a cluster consisting of two

View File

@ -362,7 +362,7 @@ if parallel_recover ==0
itmp = bitset(itmp,cpus(icpu)); itmp = bitset(itmp,cpus(icpu));
end end
hex_affinity = dec2hex(itmp); hex_affinity = dec2hex(itmp);
token1 = ['start /B /D "',DyMo, '" /affinity ',hex_affinity,' /LOW ']; token1 = ['start "" /B /D "',DyMo, '" /affinity ',hex_affinity,' /LOW '];
end end
if regexpi([Parallel(indPC).MatlabOctavePath], 'octave') if regexpi([Parallel(indPC).MatlabOctavePath], 'octave')
command1=[token1,Parallel(indPC).MatlabOctavePath,' -f --eval "default_save_options(''-v7''); addpath(''',Parallel(indPC).DynarePath,'''), dynareroot = dynare_config(); fParallel(',int2str(offset+1),',',int2str(sum(nBlockPerCPU(1:j))),',',int2str(j),',',int2str(indPC),',''',fname,''')"']; command1=[token1,Parallel(indPC).MatlabOctavePath,' -f --eval "default_save_options(''-v7''); addpath(''',Parallel(indPC).DynarePath,'''), dynareroot = dynare_config(); fParallel(',int2str(offset+1),',',int2str(sum(nBlockPerCPU(1:j))),',',int2str(j),',',int2str(indPC),',''',fname,''')"'];
@ -378,7 +378,7 @@ if parallel_recover ==0
if (~ispc || strcmpi('unix',Parallel(indPC).OperatingSystem)) % Hybrid computing Windows <-> Unix! if (~ispc || strcmpi('unix',Parallel(indPC).OperatingSystem)) % Hybrid computing Windows <-> Unix!
if ispc if ispc
token='start /B '; token='start "" /B ';
else else
token = ''; token = '';
end end
@ -444,7 +444,7 @@ if parallel_recover ==0
itmp = bitset(itmp,cpus(icpu)); itmp = bitset(itmp,cpus(icpu));
end end
hex_affinity = dec2hex(itmp); hex_affinity = dec2hex(itmp);
token1 = ['start /B /D "',DyMo, '" /affinity ',hex_affinity,' /LOW ']; token1 = ['start "" /B /D "',DyMo, '" /affinity ',hex_affinity,' /LOW '];
end end
if regexpi([Parallel(indPC).MatlabOctavePath], 'octave') if regexpi([Parallel(indPC).MatlabOctavePath], 'octave')
command1=[token1,Parallel(indPC).MatlabOctavePath,' -f --eval "default_save_options(''-v7'');addpath(''',Parallel(indPC).DynarePath,'''), dynareroot = dynare_config(); slaveParallel(',int2str(j),',',int2str(indPC),')"']; command1=[token1,Parallel(indPC).MatlabOctavePath,' -f --eval "default_save_options(''-v7'');addpath(''',Parallel(indPC).DynarePath,'''), dynareroot = dynare_config(); slaveParallel(',int2str(j),',',int2str(indPC),')"'];
@ -464,7 +464,7 @@ if parallel_recover ==0
dynareParallelSendFiles(['slaveParallel_input',int2str(j),'.mat'],PRCDir,Parallel(indPC)) dynareParallelSendFiles(['slaveParallel_input',int2str(j),'.mat'],PRCDir,Parallel(indPC))
if (~ispc || strcmpi('unix',Parallel(indPC).OperatingSystem)) % Hybrid computing Windows <-> Unix! if (~ispc || strcmpi('unix',Parallel(indPC).OperatingSystem)) % Hybrid computing Windows <-> Unix!
if ispc if ispc
token='start /B '; token='start "" /B ';
else else
token = ''; token = '';
end end