Changeset 311
- Timestamp:
- Dec 1, 2011, 11:38:40 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/civ.m
r310 r311 1492 1492 '-l "/core=1+{type = ''smalljob''}/licence=1,walltime=00:60:00" ' batch_file_list{p}]; 1493 1493 display(oar_command);eval(oar_command); 1494 end 1495 case 'oar _dispatch' %oar-dispatch.pl1496 filename_joblist=fullfile(Rootbat,'job_list.txt');1497 fid=fopen(filename_joblist,'w');1498 walltime_onejob=600;%seconds1499 for p=1:length(batch_file_list)1500 oar_command=['oarsub -n CIVX '...1501 '-E ' regexprep(batch_file_list{p},'\.bat\>','.errors') ' -O ' regexprep(batch_file_list{p},'\.bat\>','.log ')...1502 '-l "/core=1,walltime=' datestr(walltime_onejob/86400,13) '" ' batch_file_list{p}];1503 fprintf(fid,[oar_command '\n']);1504 end1505 fclose(fid);1506 ncores=36;1507 oar_command=['oarsub -t container -n civx-container '...1508 '-l /core=' num2str(ncores)...1509 ',walltime=' datestr(1.05*walltime_onejob/86400*max(length(batch_file_list),ncores)/ncores,13)...1510 ' "oar-dispatch -f ' filename_joblist '"'];1511 filename_oarcommand=fullfile(Rootbat,'oar_command');1512 fid=fopen(filename_oarcommand,'w');1513 fprintf(fid,[oar_command '\n']);1514 fclose(fid);1515 display(oar_command);1516 eval(['! . ' filename_oarcommand])1517 case 'oar'1518 filename_joblist=fullfile(Rootbat,'job_list.txt');1519 fid=fopen(filename_joblist,'w');1520 1521 for p=1:length(batch_file_list)1522 fprintf(fid,[batch_file_list{p} '\n']);1523 end1524 fclose(fid)1525 text_oarscript=[...1526 '#!/bin/bash \n'...1527 '#OAR -n Mylauncher \n'...1528 '#OAR -l node=4/core=5,walltime=0:15:00 \n'...1529 '#OAR -E stderrfile.log \n'...1530 '#OAR -O stdoutfile.log \n'...1531 '# ========================================================= \n'...1532 '# This simple program launch a multinode parallel OpenMPI mpilauncher \n'...1533 '# application for coriolis PIV post-processing. \n'...1534 '# OAR uses oarshmost wrapper to propagate the user environement. \n'...1535 '# This wrapper assert that the user has the same environment on all the \n'...1536 '# allocated nodes (basic behavior needed by most MPI applications). \n'...1537 '# \n'...1538 '# REQUIREMENT:\n'...1539 '# the oarshmost wrapper should be installed in $HOME/bin directory.\n'...1540 '# If a different location is used, change the line following the comment "Bidouille"\n'...1541 '# =========================================================\n'...1542 '# USER should only modify these 2 lines\n'...1543 'WORKDIR=' pwd '\n'...1544 'COMMANDE="mpilauncher -f ' filename_joblist '"\n'...1545 '# =========================================================\n'...1546 '# DO NOT MODIFY the FOLOWING LINES. (or be carefull)\n'...1547 'echo "job starting on: "`hostname`\n'...1548 'MPINODES="-host `tr [\\\\\\n] [,] <$OAR_NODEFILE |sed -e "s/,$/ /"`"\n'...1549 'NCPUS=`cat $OAR_NODEFILE |wc -l`\n'...1550 '#========== Bidouille ==============\n'...1551 'export OMPI_MCA_plm_rsh_agent=oar-envsh \n'...% 'cd $WORKDIR\n'...1552 'CMD="mpirun -np $NCPUS -wdir $WORKDIR $MPINODES $COMMANDE" \n'...1553 'echo "I run: $CMD"\n'...1554 '$CMD\n'...1555 'echo "job ending"\n'...1556 ];1557 % oarsub -S ./oar.sub 1558 filename_oarscript=fullfile(Rootbat,'oar_command');1559 fid=fopen(filename_oarscript,'w');1560 fprintf(fid,[text_oarscript]);1561 fclose(fid);1562 eval(['!chmod +x ' filename_oarscript]);1563 eval(['!oarsub -S ' filename_oarscript]);1564 case 'oar_new' % to be develloped with Patrick Begou1565 filename_joblist=fullfile(Rootbat,'job_list.txt');1566 fid=fopen(filename_superbat,'w');1567 if fid==-11568 msgbox_uvmat('ERROR',['cannot create the command file ' filename_superbat])1569 return1570 end1571 for p=1:length(batch_file_list)1572 fprintf(fid,[batch_file_list{p} '\n']);1573 end1574 fclose(fid);1575 walltime=datestr(length(super_cmd)*10/24/60,13);1576 eval( ['!oarsub -n CIVX -q nicejob -l "/core=1+{type = ''smalljob''}/licence=1,walltime=' walltime '" ' filename_superbat]);1494 end 1495 case 'oar' %oar-dispatch.pl 1496 oar_modes={'oar-dispatch','mpilauncher'}; 1497 text={'Batch processing on servcalcul3 LEGI',... 1498 '\n',... 1499 'Please choose one of the followint modes\n',... 1500 ' * oar-dispatch : jobs in a container\n',... 1501 ' * mpilauncher : one single job using several cores\n',... 1502 }; 1503 [S,v]=listdlg('PromptString',text,'ListString',oar_modes,... 1504 'SelectionMode','single'); 1505 switch oar_modes(S) 1506 1507 case 'oar_dispatch' %oar-dispatch.pl 1508 filename_joblist=fullfile(Rootbat,'job_list.txt'); 1509 fid=fopen(filename_joblist,'w'); 1510 walltime_onejob=600;%seconds 1511 for p=1:length(batch_file_list) 1512 oar_command=['oarsub -n CIVX '... 1513 '-E ' regexprep(batch_file_list{p},'\.bat\>','.errors') ' -O ' regexprep(batch_file_list{p},'\.bat\>','.log ')... 1514 '-l "/core=1,walltime=' datestr(walltime_onejob/86400,13) '" ' batch_file_list{p}]; 1515 fprintf(fid,[oar_command '\n']); 1516 end 1517 fclose(fid); 1518 ncores=36; 1519 oar_command=['oarsub -t container -n civx-container '... 1520 '-l /core=' num2str(ncores)... 1521 ',walltime=' datestr(1.05*walltime_onejob/86400*max(length(batch_file_list),ncores)/ncores,13)... 1522 ' "oar-dispatch -f ' filename_joblist '"']; 1523 filename_oarcommand=fullfile(Rootbat,'oar_command'); 1524 fid=fopen(filename_oarcommand,'w'); 1525 fprintf(fid,[oar_command '\n']); 1526 fclose(fid); 1527 display(oar_command); 1528 eval(['! . ' filename_oarcommand]) 1529 case 'mpilauncher' 1530 filename_joblist=fullfile(Rootbat,'job_list.txt'); 1531 fid=fopen(filename_joblist,'w'); 1532 1533 for p=1:length(batch_file_list) 1534 fprintf(fid,[batch_file_list{p} '\n']); 1535 end 1536 fclose(fid) 1537 text_oarscript=[... 1538 '#!/bin/bash \n'... 1539 '#OAR -n Mylauncher \n'... 1540 '#OAR -l node=4/core=5,walltime=0:15:00 \n'... 1541 '#OAR -E stderrfile.log \n'... 1542 '#OAR -O stdoutfile.log \n'... 1543 '# ========================================================= \n'... 1544 '# This simple program launch a multinode parallel OpenMPI mpilauncher \n'... 1545 '# application for coriolis PIV post-processing. \n'... 1546 '# OAR uses oarshmost wrapper to propagate the user environement. \n'... 1547 '# This wrapper assert that the user has the same environment on all the \n'... 1548 '# allocated nodes (basic behavior needed by most MPI applications). \n'... 1549 '# \n'... 1550 '# REQUIREMENT: \n'... 1551 '# the oarshmost wrapper should be installed in $HOME/bin directory. \n'... 1552 '# If a different location is used, change the line following the comment "Bidouille" \n'... 1553 '# ========================================================= \n'... 1554 '# USER should only modify these 2 lines \n'... 1555 'WORKDIR=' pwd ' \n'... 1556 'COMMANDE="mpilauncher -f ' filename_joblist '" \n'... 1557 '# ========================================================= \n'... 1558 '# DO NOT MODIFY the FOLOWING LINES. (or be carefull) \n'... 1559 'echo "job starting on: "`hostname` \n'... 1560 'MPINODES="-host `tr [\\\\\\n] [,] <$OAR_NODEFILE |sed -e "s/,$/ /"`" \n'... 1561 'NCPUS=`cat $OAR_NODEFILE |wc -l` \n'... 1562 '#========== Bidouille ============== \n'... 1563 'export OMPI_MCA_plm_rsh_agent=oar-envsh \n'...% 'cd $WORKDIR \n'... 1564 'CMD="mpirun -np $NCPUS -wdir $WORKDIR $MPINODES $COMMANDE" \n'... 1565 'echo "I run: $CMD" \n'... 1566 '$CMD \n'... 1567 'echo "job ending" \n'... 1568 ]; 1569 % oarsub -S ./oar.sub 1570 filename_oarscript=fullfile(Rootbat,'oar_command'); 1571 fid=fopen(filename_oarscript,'w'); 1572 fprintf(fid,[text_oarscript]); 1573 fclose(fid); 1574 eval(['!chmod +x ' filename_oarscript]); 1575 eval(['!oarsub -S ' filename_oarscript]); 1576 end 1577 1577 end 1578 1578 else
Note: See TracChangeset
for help on using the changeset viewer.