David, sorry for the delay -- this got spamtrapped somewhow.
On Aug 4, 2007, at 11:45 PM, David Oranchak wrote:
> Inspecting ec.steadystate.SteadyStateEvolutionState, I noticed this
> line:
>
> // CHECKPOINTING
> if (checkpoint && generation%checkpointModulo == 0)
>
> I reasoned that "generation" is only incremented during generation
> boundaries, which for steady state occurs when the number of
> evaluations reaches some multiple of the population size. Thus,
> the checkpointing will continue unnecessarily until the next
> generation boundary is reached.
>
> Here is my bandaid:
>
> // CHECKPOINTING
> if (checkpoint && generation%checkpointModulo == 0 &&
> evaluations%checkpointModulo == 0)
>
> Does this look like a valid bug and fix? I am reluctant to check
> anything into CVS without review.
This is definitely a bug, but I'm not sure if the bugfix will work
right; rather, it should probably be modding evaluations by the
population size or something.
But I would hold off on a fix -- Keith and I have an experimental
brand new SteadyStateEvolutionState which promises to allow for
massively parallel steady state evolution in a very cool way. It
should be a drop-in replacement for the existing one and you could
test that.
Sean
|