Print

Print


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