Using again parallel apply into eoPopEvalFunc::eoParallelPopEvalFunc.

This commit is contained in:
Benjamin Bouvier 2012-07-03 15:53:19 +02:00
commit 24c29db6f3
7 changed files with 125 additions and 35 deletions

View file

@ -24,7 +24,7 @@ namespace eo
std::vector<EOT>& _pop,
int _masterRank,
// long _maxTime = 0,
int _packetSize // FIXME = 1 ?
int _packetSize
) :
data( _pop ), func( _proc ), index( 0 ), size( _pop.size() ), packetSize( _packetSize ), masterRank( _masterRank ), comm( Node::comm() )
{
@ -163,14 +163,19 @@ namespace eo
std::vector<EOT>& _pop,
int _masterRank,
// long _maxTime = 0,
int _packetSize = 1
)
: _data( _proc, _pop, _masterRank, _packetSize )
int _packetSize = 1,
// JobStore functors
SendTaskParallelApply<EOT> * stpa = new SendTaskParallelApply<EOT>,
HandleResponseParallelApply<EOT>* hrpa = new HandleResponseParallelApply<EOT>,
ProcessTaskParallelApply<EOT>* ptpa = new ProcessTaskParallelApply<EOT>,
IsFinishedParallelApply<EOT>* ifpa = new IsFinishedParallelApply<EOT>
) :
_data( _proc, _pop, _masterRank, _packetSize )
{
_stf = new SendTaskParallelApply<EOT>;
_hrf = new HandleResponseParallelApply<EOT>;
_ptf = new ProcessTaskParallelApply<EOT>;
_iff = new IsFinishedParallelApply<EOT>;
_stf = stpa;
_hrf = hrpa;
_ptf = ptpa;
_iff = ifpa;
}
ParallelApplyData<EOT>* data() { return &_data; }