Changeset 19650


Ignore:
Timestamp:
10/19/15 12:50:51 (9 years ago)
Author:
Eric.Larour
Message:

CHG: added many checks for values of params options, which are the ones most impacted by running Dakota 6 and + in parallel.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/classes/qmu.m

    r19048 r19650  
    7272                        if ~md.qmu.isdakota, return; end
    7373
    74                         if md.qmu.params.evaluation_concurrency~=1,
    75                                 md = checkmessage(md,['concurrency should be set to 1 when running dakota in library mode']);
     74                        version=IssmConfig('_DAKOTA_VERSION_'); version=str2num(version(1:3));
     75
     76                        if version < 6,
     77                                if md.qmu.params.evaluation_concurrency~=1,
     78                                        md = checkmessage(md,['concurrency should be set to 1 when running dakota in library mode']);
     79                                end
     80                        else
     81                                if ~strcmpi(self.params.evaluation_scheduling,'master'),
     82                                        md = checkmessage(md,['evaluation_scheduling in qmu.params should be set to ''master''']);
     83                                end
     84                                if md.cluster.np<=1,
     85                                        md = checkmessage(md,['in parallel library mode, Dakota needs to run on at least 2 cpus, 1 cpu for the master, 1 cpu for the slave. Modify md.cluser.np accordingly.']);
     86                                end
     87                                       
     88                                if self.params.processors_per_evaluation<1,
     89                                        md = checkmessage(md,['in parallel library mode, Dakota needs to run at least one slave on one cpu (md.qmu.params.processors_per_evaluation >=1)!']);
     90                                end
     91                                if mod(md.cluster.np-1,self.params.processors_per_evaluation),
     92                                        md = checkmessage(md,['in parallel library mode, the requirement is for md.cluster.np = md.qmu.params.processors_per_evaluation * number_of_slaves, where number_of_slaves will automatically be determined by Dakota. Modify md.cluster.np accordingly']);
     93                                end
    7694                        end
    7795                        if ~isempty(md.qmu.partition),
Note: See TracChangeset for help on using the changeset viewer.