Changeset 882
- Timestamp:
- Mar 10, 2015, 2:38:09 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/series.m
r880 r882 150 150 set(handles.MonitorCluster,'Visible','on'); % make visible button for access to Monika 151 151 end 152 [s,w]=system('qstat ');% look for cluster system 'sge'152 [s,w]=system('qstat --version');% look for cluster system 'sge' 153 153 if isequal(s,0) 154 RunModeList=[RunModeList;{'cluster_sge'}]; 154 if regexp(w,'^pbs') 155 RunModeList=[RunModeList;{'cluster_pbs'}]; 156 else 157 RunModeList=[RunModeList;{'cluster_sge'}]; 158 end 155 159 end 156 160 set(handles.RunMode,'String',RunModeList) … … 1544 1548 NbCore=str2double(answer{1}); 1545 1549 extra_oar=answer{2}; 1550 end 1551 case 'cluster_pbs' 1552 if strcmp(ActionExt,'.m')% case of Matlab function (uncompiled) 1553 NbCore=1;% one core used only (limitation of Matlab licences) 1554 answer=msgbox_uvmat('INPUT_Y-N','Number of cores =1: select the compiled version .sh for multi-core processing. Proceed with the .m version?'); 1555 if ~strcmp(answer,'Yes') 1556 errormsg='Action launch interrupted'; 1557 return 1558 end 1559 extra_oar=''; 1560 else 1561 answer=inputdlg({'Number of cores (max 36)','extra oar options'},'oarsub parameter',1,{'12',''}); 1562 NbCore=str2double(answer{1}); 1563 %extra_oar=answer{2};%TODO : fix this for LMFA cluster. Maybe 1564 %extrs_oar and extra_pbs are not the best names 1546 1565 end 1547 1566 end … … 1889 1908 system(oar_command); 1890 1909 msgbox_uvmat('CONFIRMATION',[ActionName ' launched in cluster: press STATUS to see results']) 1910 case 'cluster_pbs' % for LMFA Kepler machine 1911 %create subdirectory for pbs command and log files 1912 DirPBS=fullfile(OutputDir,'0_PBS'); %todo : common name OAR/PBS 1913 if exist(DirPBS,'dir')% delete the content of the dir 0_OAR to allow new input 1914 curdir=pwd; 1915 cd(DirPBS) 1916 delete('*') 1917 cd(curdir) 1918 else 1919 [tild,msg1]=mkdir(DirPBS); 1920 if ~strcmp(msg1,'') 1921 errormsg=['cannot create ' DirPBS ': ' msg1];%error message for directory creation 1922 return 1923 end 1924 end 1925 max_walltime=3600*20; % 20h max total calculation (cannot exceed 24 h) 1926 walltime_onejob=600;%seconds, max estimated time for asingle file index value 1927 filename_joblist=fullfile(DirPBS,'job_list.txt');%create name of the global executable file 1928 fid=fopen(filename_joblist,'w'); 1929 for p=1:length(batch_file_list) 1930 fprintf(fid,[batch_file_list{p} '\n']);% list of exe files 1931 end 1932 fclose(fid); 1933 system(['chmod +x ' filename_joblist]);% set the file to executable 1934 pbs_command=['qstat -n CIVX '... 1935 '-t idempotent --checkpoint ' num2str(walltime_onejob+60) ' '... 1936 '-l /core=' num2str(NbCore) ','... 1937 'walltime=' datestr(min(1.05*walltime_onejob/86400*max(NbProcess*BlockLength*nbfield_j,NbCore)/NbCore,max_walltime/86400),13) ' '... 1938 '-E ' regexprep(filename_joblist,'\.txt\>','.stderr') ' '... 1939 '-O ' regexprep(filename_joblist,'\.txt\>','.stdout') ' '... 1940 extra_oar ' '... 1941 '"oar-parexec -s -f ' filename_joblist ' '... 1942 '-l ' filename_joblist '.log"\n']; 1943 filename_oarcommand=fullfile(DirPBS,'pbs_command'); 1944 fid=fopen(filename_oarcommand,'w'); 1945 fprintf(fid,pbs_command); 1946 fclose(fid); 1947 fprintf(pbs_command);% display in command line 1948 %system(pbs_command); 1949 msgbox_uvmat('CONFIRMATION',[ActionName ' command ready to be launched in cluster']) 1891 1950 case 'python' 1892 1951 command = [
Note: See TracChangeset
for help on using the changeset viewer.