1) Fix compatibility problems with the Port field in unix nodes of the cluster;
2) Fix bug when local machine is accessed through the network in windows; 3) small bug fix in remote directory check;time-shift
parent
b82bc0586a
commit
203c8ea643
|
@ -31,6 +31,10 @@ function [ErrorCode] = AnalyseComputationalEnvironment(DataInput, DataInputAdd)
|
||||||
% field RemoteTmpFolder (the temporary directory created/destroyed on remote
|
% field RemoteTmpFolder (the temporary directory created/destroyed on remote
|
||||||
% computer) is used.
|
% computer) is used.
|
||||||
|
|
||||||
|
if ispc,
|
||||||
|
[tempo, MasterName]=system('hostname');
|
||||||
|
MasterName=deblank(MasterName);
|
||||||
|
end
|
||||||
|
|
||||||
RemoteTmpFolder=DataInputAdd.RemoteTmpFolder;
|
RemoteTmpFolder=DataInputAdd.RemoteTmpFolder;
|
||||||
dynareParallelMkDir(RemoteTmpFolder,DataInput);
|
dynareParallelMkDir(RemoteTmpFolder,DataInput);
|
||||||
|
@ -295,8 +299,13 @@ for Node=1:length(DataInput) % To obtain a recoursive function remove the 'for'
|
||||||
|
|
||||||
si2=[];
|
si2=[];
|
||||||
de2=[];
|
de2=[];
|
||||||
|
if ~isempty(DataInput(Node).Port),
|
||||||
|
ssh_token = ['-p ',DataInput(Node).Port];
|
||||||
|
else
|
||||||
|
ssh_token = '';
|
||||||
|
end
|
||||||
|
|
||||||
[si2 de2]=system(['ssh ',DataInput(Node).UserName,'@',DataInput(Node).ComputerName,' ls ',DataInput(Node).RemoteDirectory,'/',RemoteTmpFolder,'/']);
|
[si2 de2]=system(['ssh ',ssh_token,' ',DataInput(Node).UserName,'@',DataInput(Node).ComputerName,' ls ',DataInput(Node).RemoteDirectory,'/',RemoteTmpFolder,'/']);
|
||||||
|
|
||||||
if (si2)
|
if (si2)
|
||||||
disp ('Remote Directory does not exist or is not reachable!');
|
disp ('Remote Directory does not exist or is not reachable!');
|
||||||
|
@ -332,7 +341,7 @@ for Node=1:length(DataInput) % To obtain a recoursive function remove the 'for'
|
||||||
|
|
||||||
si2=[];
|
si2=[];
|
||||||
de2=[];
|
de2=[];
|
||||||
[s12 de2]=system(['dir \\',DataInput(Node).ComputerName,'\',DataInput(Node).RemoteDrive,'$\',DataInput(Node).RemoteDirectory,'\',RemoteTmpFolder]);
|
[si2 de2]=system(['dir \\',DataInput(Node).ComputerName,'\',DataInput(Node).RemoteDrive,'$\',DataInput(Node).RemoteDirectory,'\',RemoteTmpFolder]);
|
||||||
|
|
||||||
if (si2)
|
if (si2)
|
||||||
disp ('Remote Directory does not exist or it is not reachable!');
|
disp ('Remote Directory does not exist or it is not reachable!');
|
||||||
|
@ -416,18 +425,32 @@ for Node=1:length(DataInput) % To obtain a recoursive function remove the 'for'
|
||||||
% machine when the user is .UserName with password .Password and
|
% machine when the user is .UserName with password .Password and
|
||||||
% the path is MatlabOctavePath.
|
% the path is MatlabOctavePath.
|
||||||
|
|
||||||
if Environment
|
if Environment,
|
||||||
if strfind([DataInput(Node).MatlabOctavePath], 'octave') % Hybrid computing Matlab(Master)->Octave(Slaves) and Vice Versa!
|
if ~isempty(DataInput(Node).Port),
|
||||||
system(['ssh ',DataInput(Node).UserName,'@',DataInput(Node).ComputerName,' "cd ',DataInput(Node).RemoteDirectory,'/',RemoteTmpFolder, '; ', DataInput(Node).MatlabOctavePath, ' Tracing.m;" &']);
|
ssh_token = ['-p ',DataInput(Node).Port];
|
||||||
else
|
else
|
||||||
system(['ssh ',DataInput(Node).UserName,'@',DataInput(Node).ComputerName,' "cd ',DataInput(Node).RemoteDirectory,'/',RemoteTmpFolder, '; ', DataInput(Node).MatlabOctavePath, ' -nosplash -nodesktop -minimize -r Tracing;" &']);
|
ssh_token = '';
|
||||||
|
end
|
||||||
|
if strfind([DataInput(Node).MatlabOctavePath], 'octave') % Hybrid computing Matlab(Master)->Octave(Slaves) and Vice Versa!
|
||||||
|
system(['ssh ',ssh_token,' ',DataInput(Node).UserName,'@',DataInput(Node).ComputerName,' "cd ',DataInput(Node).RemoteDirectory,'/',RemoteTmpFolder, '; ', DataInput(Node).MatlabOctavePath, ' Tracing.m;" &']);
|
||||||
|
else
|
||||||
|
system(['ssh ',ssh_token,' ',DataInput(Node).UserName,'@',DataInput(Node).ComputerName,' "cd ',DataInput(Node).RemoteDirectory,'/',RemoteTmpFolder, '; ', DataInput(Node).MatlabOctavePath, ' -nosplash -nodesktop -minimize -r Tracing;" &']);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if strfind([DataInput(Node).MatlabOctavePath], 'octave') % Hybrid computing Matlab(Master)->Octave(Slaves) and Vice Versa!
|
if ~strcmp(DataInput(Node).ComputerName,MasterName), % run on remote machine
|
||||||
[NonServeS NenServeD]=system(['start /B psexec \\',DataInput(Node).ComputerName,' -e -u ',DataInput(Node).UserName,' -p ',DataInput(Node).Password,' -W ',DataInput(Node).RemoteDrive,':\',DataInput(Node).RemoteDirectory,'\',RemoteTmpFolder ' -low ',DataInput(Node).MatlabOctavePath,' Tracing.m']);
|
if strfind([DataInput(Node).MatlabOctavePath], 'octave') % Hybrid computing Matlab(Master)->Octave(Slaves) and Vice Versa!
|
||||||
else
|
[NonServeS NenServeD]=system(['start /B psexec \\',DataInput(Node).ComputerName,' -e -u ',DataInput(Node).UserName,' -p ',DataInput(Node).Password,' -W ',DataInput(Node).RemoteDrive,':\',DataInput(Node).RemoteDirectory,'\',RemoteTmpFolder ' -low ',DataInput(Node).MatlabOctavePath,' Tracing.m']);
|
||||||
[NonServeS NenServeD]=system(['start /B psexec \\',DataInput(Node).ComputerName,' -e -u ',DataInput(Node).UserName,' -p ',DataInput(Node).Password,' -W ',DataInput(Node).RemoteDrive,':\',DataInput(Node).RemoteDirectory,'\',RemoteTmpFolder ' -low ',DataInput(Node).MatlabOctavePath,' -nosplash -nodesktop -minimize -r Tracing']);
|
else
|
||||||
|
[NonServeS NenServeD]=system(['start /B psexec \\',DataInput(Node).ComputerName,' -e -u ',DataInput(Node).UserName,' -p ',DataInput(Node).Password,' -W ',DataInput(Node).RemoteDrive,':\',DataInput(Node).RemoteDirectory,'\',RemoteTmpFolder ' -low ',DataInput(Node).MatlabOctavePath,' -nosplash -nodesktop -minimize -r Tracing']);
|
||||||
|
end
|
||||||
|
else % run on local machine via the network: user and passwd cannot be used!
|
||||||
|
if strfind([DataInput(Node).MatlabOctavePath], 'octave') % Hybrid computing Matlab(Master)->Octave(Slaves) and Vice Versa!
|
||||||
|
[NonServeS NenServeD]=system(['start /B psexec \\',DataInput(Node).ComputerName,' -e ',' -W ',DataInput(Node).RemoteDrive,':\',DataInput(Node).RemoteDirectory,'\',RemoteTmpFolder ' -low ',DataInput(Node).MatlabOctavePath,' Tracing.m']);
|
||||||
|
else
|
||||||
|
[NonServeS NenServeD]=system(['start /B psexec \\',DataInput(Node).ComputerName,' -e ',' -W ',DataInput(Node).RemoteDrive,':\',DataInput(Node).RemoteDirectory,'\',RemoteTmpFolder ' -low ',DataInput(Node).MatlabOctavePath,' -nosplash -nodesktop -minimize -r Tracing']);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
% Timer da fissare, nei valori di attesa!
|
% Timer da fissare, nei valori di attesa!
|
||||||
|
@ -568,10 +591,15 @@ for Node=1:length(DataInput) % To obtain a recoursive function remove the 'for'
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if Environment,
|
if Environment,
|
||||||
if OStargetUnix,
|
if ~isempty(DataInput(Node).Port),
|
||||||
[si0 de0]=system(['ssh ',DataInput(Node).UserName,'@',DataInput(Node).ComputerName,' grep processor /proc/cpuinfo']);
|
ssh_token = ['-p ',DataInput(Node).Port];
|
||||||
else
|
else
|
||||||
[si0 de0]=system(['ssh ',DataInput(Node).UserName,'@',DataInput(Node).ComputerName,' psinfo']);
|
ssh_token = '';
|
||||||
|
end
|
||||||
|
if OStargetUnix,
|
||||||
|
[si0 de0]=system(['ssh ',ssh_token,' ',DataInput(Node).UserName,'@',DataInput(Node).ComputerName,' grep processor /proc/cpuinfo']);
|
||||||
|
else
|
||||||
|
[si0 de0]=system(['ssh ',ssh_token,' ',DataInput(Node).UserName,'@',DataInput(Node).ComputerName,' psinfo']);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
[si0 de0]=system(['psinfo \\',DataInput(Node).ComputerName,' -u ',DataInput(Node).UserName,' -p ',DataInput(Node).Password]);
|
[si0 de0]=system(['psinfo \\',DataInput(Node).ComputerName,' -u ',DataInput(Node).UserName,' -p ',DataInput(Node).Password]);
|
||||||
|
|
Loading…
Reference in New Issue