Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
split simulate into prepare, run and finalize #650
Needs careful check on simulation_manager, given that it's a conflict bottleneck on master.
As requested by several projects including visualization, this PR makes it possible to split a run into multiple time chunks, without doing the calibration and teardown steps for every run.
A follow-up issue would be to make a run interruptible, returning the time actually run so that the simulation can be continued with another run call.
@apeyser This is just a first review, I have not evaluated the changes to simulate in detail. Could you explain the rationale for this PR? That would make it easier to understand and evaluate. I also wonder what would happen if one called
Run() without having called
Prepare() before? What if I forget
Run() and then call
referenced this pull request
Feb 10, 2017
@apeyser: thanks for this nice work. I could not see any problems in the code other than the two minor things I've pointed out in my comments. As I think the test is good enough, I did not run the new code myself.
!! PLEASE DON'T MERGE UNTIL AFTER THE RELEASE OF 2.12.0 !!
@apeyser Thank you for all the improvements you have made. I have some more suggestions, mainly on documentation and names. I would also feel safer if we had a bit of control between parts, especially a check that quits
prepare() has not been called since program start or last
@heplesser @jougs I add some of the suggestion from hep that affected the node-manager, and now with the new vera++ analysis, node_manager fails with 65 errors -- apparently the file was very out of sink with vera++, and as soon as the file is changed at all, all fixes must be made.
That doesn't seem to be in the scope of this pull request, but should be a separate issue to correct this file. What should we do about this?
Mar 17, 2017
1 check passed
@apeyser Almost all changes were formatting (adding curly braces around one-line blocks,