0001 function dynareParallelGetFiles(NamFileInput,PRCDir,Parallel)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 NamFileInput0=NamFileInput;
0035
0036 for indPC=1:length(Parallel),
0037 if Parallel(indPC).Local==0,
0038 if ~ispc || strcmpi('unix',Parallel(indPC).OperatingSystem),
0039 if ischar(NamFileInput0),
0040 for j=1:size(NamFileInput0,1),
0041 NamFile(j,:)={['./'],deblank(NamFileInput0(j,:))};
0042 end
0043 NamFileInput = NamFile;
0044 end
0045 for jfil=1:size(NamFileInput,1),
0046
0047 if exist('OCTAVE_VERSION')
0048
0049
0050 FindAst=strfind(NamFileInput{jfil,2},'comp_status_random_walk_metropolis_hastings_core*');
0051
0052 if isempty (FindAst)
0053
0054 [NonServeL NonServeR]= system(['scp ',Parallel(indPC).UserName,'@',Parallel(indPC).ComputerName,':',Parallel(indPC).RemoteDirectory,'/',PRCDir,'/',NamFileInput{jfil,1},NamFileInput{jfil,2},' ',NamFileInput{jfil,1}]);
0055
0056 else
0057
0058 filenameTemp=NamFileInput{jfil,2};
0059
0060 [NotUsed FlI]=system(['ssh ',Parallel(indPC).UserName,'@',Parallel(indPC).ComputerName,' ls ',Parallel(indPC).RemoteDirectory,'/',PRCDir,'/',filenameTemp, ' 2> OctaveStandardOutputMessage.txt']);
0061
0062 if isempty (FlI)
0063 return
0064 end
0065
0066 AstPos=strfind(filenameTemp,'.mat')-1;
0067 FiMat=findstr(FlI, '.mat');
0068 NumFileToCopy=length(FiMat);
0069
0070
0071 for i=1: NumFileToCopy
0072 Ni=num2str(i);
0073 filenameTemp(1,AstPos)=Ni;
0074 [NonServeL NonServeR]= system(['scp ',Parallel(indPC).UserName,'@',Parallel(indPC).ComputerName,':',Parallel(indPC).RemoteDirectory,'/',PRCDir,'/',NamFileInput{jfil,1},filenameTemp,' ',NamFileInput{jfil,1}]);
0075 end
0076 end
0077
0078 else
0079
0080 [NonServeL NonServeR]= system(['scp ',Parallel(indPC).UserName,'@',Parallel(indPC).ComputerName,':',Parallel(indPC).RemoteDirectory,'/',PRCDir,'/',NamFileInput{jfil,1},NamFileInput{jfil,2},' ',NamFileInput{jfil,1}]);
0081 end
0082
0083 end
0084 else
0085 if ischar(NamFileInput0),
0086 for j=1:size(NamFileInput0,1),
0087 NamFile(j,:)={['.\'],deblank(NamFileInput0(j,:))};
0088 end
0089 NamFileInput = NamFile;
0090 end
0091 for jfil=1:size(NamFileInput,1),
0092 if ~isempty(dynareParallelDir(NamFileInput{jfil,2},[PRCDir,filesep,NamFileInput{jfil,1}],Parallel(indPC))),
0093 copyfile(['\\',Parallel(indPC).ComputerName,'\',Parallel(indPC).RemoteDrive,'$\',Parallel(indPC).RemoteDirectory,'\',PRCDir,'\',NamFileInput{jfil,1},NamFileInput{jfil,2}],NamFileInput{jfil,1});
0094 end
0095 end
0096 end
0097 end
0098 end