Changeset 2497


Ignore:
Timestamp:
10/22/09 15:56:00 (16 years ago)
Author:
Eric.Larour
Message:

Added some utilities to use gemini cluster directly.
Also added routine for greenplanet cluster.

Location:
issm/trunk/src/m/classes/public
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/classes/public/BuildQueueingScriptgreenplanet.m

    r2372 r2497  
    77scriptname=[md.name '.queue'];
    88
    9 
    10 
    119%check queue names:
    1210if strcmpi(md.cluster,'greenplanet'),
    13         available_queues={'debug','shortg','longg'};
     11        available_queues={'rignot','default'};
    1412        if  ~ismemberi(md.queue,available_queues),
    15                 error('BuildQueueingScriptcosmos error message: availables queues are debug, shortg and longg');
     13                error('BuildQueueingScriptgreenplanet error message: availables queues are rignot and default');
    1614        end
    1715
    18         if strcmpi(md.queue,'debug'),
    19                 if md.np>50,
    20                         error('BuildQueueingScriptgreenplaneterror error message: debug queue only allows for 50 cpus max');
     16        if strcmpi(md.queue,'rignot'),
     17                if md.np>80,
     18                        error('BuildQueueingScriptgreenplaneterror error message: debug queue only allows for 80 cpus max');
    2119                end
    2220               
     
    2725end
    2826
    29 if strcmpi(md.cluster,'castor'),
    30         available_queues={'shortc','longc'};
    31         if  ~ismemberi(md.queue,available_queues),
    32                 error('BuildQueueingScriptcosmos error message: availables queues are shortc and longc');
    33         end
    34 end
    35 
    36 if strcmpi(md.cluster,'pollux'),
    37         available_queues={'shortp','longp'};
    38         if  ~ismemberi(md.queue,available_queues),
    39                 error('BuildQueueingScriptcosmos error message: availables queues are shortp and longp');
    40         end
    41 end
    42 
    43 %test parameters valid for all queues
    44 if strcmpi(md.queue(1:5),'short'),
    45         if md.np>128,
    46                 error('BuildQueueingScriptcosmos error message: short queue only allows 128 cpus');
    47         end
    48         if md.time>180,
    49                 error('BuildQueueingScriptcosmos error message: short queue only allows 180 minutes');
    50         end
    51 end
    52 
    53 if strcmpi(md.queue(1:4),'long'),
    54         if md.np>128,
    55                 error('BuildQueueingScriptcosmos error message: long queue only allows 128 cpus');
    56         end
    57         if md.time>720,
    58                 error('BuildQueueingScriptcosmos error message: long queue only allows 720 minutes');
    59         end
    60 end
    61 
    6227fid=fopen(scriptname,'w');
    6328if fid==-1,
     
    6530end
    6631
    67 fprintf(fid,'#!/bin/sh\n');
     32fprintf(fid,'#!/bin/csh\n');
     33fprintf(fid,'#PBS -N %s\n',md.name);
     34fprintf(fid,'#PBS -l nodes=%i:ppn=%i\n',md.np/8,8);
     35fprintf(fid,'#PBS -q %s\n',md.queue);
     36fprintf(fid,'#PBS -m bea\n');
     37fprintf(fid,'#PBS -M eric.larour@jpl.nasa.gov\n');
    6838fprintf(fid,'#PBS -l walltime=%i\n',md.time*60); %walltime is in seconds.
    69 fprintf(fid,'#PBS -l ncpus=%i\n',md.np);
    70 if ~isempty(md.queue),
    71         fprintf(fid,'#PBS -q %s\n',md.queue);
    72 end
    73 fprintf(fid,'#PBS -o %s.outlog \n',md.name);
    74 fprintf(fid,'#PBS -e %s.errlog \n',md.name);
    7539
    76 fprintf(fid,'export PBS_O_WORKDIR=%s\n',executionpath);
    7740fprintf(fid,'cd $PBS_O_WORKDIR\n');
    78 fprintf(fid,'export OMP_NUM_THREADS=1\n');
    79 fprintf(fid,'dplace -s1 -c0-%i mpirun -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock',md.np-1,md.np,codepath,AnalysisTypeFromEnum(md.analysis_type),executionpath,md.name,md.name,md.name);
     41fprintf(fid,'mpirun -machinefile $PBS_NODEFILE -np %i %s/%s.exe %s %s.bin %s.outbin %s.lock > %s.outlog',md.np,codepath,AnalysisTypeFromEnum(md.analysis_type),executionpath,md.name,md.name,md.name,md.name);
    8042
    8143fclose(fid);
  • issm/trunk/src/m/classes/public/LaunchQueueJobgemini.m

    r1268 r2497  
    2222                eval(['!scp ' md.name '.bin' ' ' md.name '.queue '  md.cluster ':' executionpath]);
    2323        end
     24       
     25        disp('launching solution sequence on remote cluster');
     26        issmssh(md.cluster,['"cd ' executionpath ' && qsub ' md.name '.queue "']);
    2427else
    2528        disp('batch mode requested: not launching job interactively');
     29
     30        %new gemini cannot launch across cluster using ssh
     31        disp(['launch solution sequence on remote cluster by logging into it and typing qsub < ' md.name '.queue']);
    2632end
    27 
    28 %new gemini cannot launch across cluster using ssh
    29 disp(['launch solution sequence on remote cluster by logging into it and typing qsub < ' md.name '.queue']);
    30 md.waitonlock=0;
     33md.waitonlock=0; %cannot wait for lock
Note: See TracChangeset for help on using the changeset viewer.