Putting time conditions into eo::mpi::Job and MultiParallelApply, which doesn't prefigure about number of workers evaluations.

This commit is contained in:
Benjamin Bouvier 2012-06-26 17:53:32 +02:00
commit 7b399aa1dd
6 changed files with 136 additions and 13 deletions

View file

@ -87,12 +87,14 @@ public:
eoEvalFunc<EOT> & _eval,
eo::mpi::AssignmentAlgorithm& _assignAlgo,
int _masterRank,
int _packetSize = 1
int _packetSize = 1,
int _maxTime = 0
) :
eval(_eval),
assignAlgo( _assignAlgo ),
masterRank( _masterRank ),
packetSize( _packetSize )
packetSize( _packetSize ),
maxTime( _maxTime )
{
// empty
}
@ -101,7 +103,7 @@ public:
void operator()(eoPop<EOT> & _parents, eoPop<EOT> & _offspring)
{
(void)_parents;
parallelApply<EOT>(eval, _offspring, assignAlgo, masterRank, packetSize);
parallelApply<EOT>(eval, _offspring, assignAlgo, masterRank, packetSize, maxTime);
}
private:
@ -110,6 +112,7 @@ private:
eo::mpi::AssignmentAlgorithm & assignAlgo;
int masterRank;
int packetSize;
int maxTime;
};
#endif