Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generic data structures for graph edges and state #69

Open
eirrgang opened this issue May 29, 2018 · 0 comments
Open

Generic data structures for graph edges and state #69

eirrgang opened this issue May 29, 2018 · 0 comments

Comments

@eirrgang
Copy link
Collaborator

Provide data structures as Session resources that the Context implementation can checkpoint. External code can use these data structures to maintain state.

We can discuss whether and how we could use the TensorFlow concept of variables in addition to graph edges, but right now we should clarify that our check-pointable data is as edges. Then, we have data source nodes that initiate data flow on a stream and implicitly (magically) receive the data at the end of a pass through the graph to provide the updated stream on the next iteration. What we could do is to let edges essentially push data events, while "variables" are accessible in a token-passing sort of way, where the graph director for an operation just has to make sure that there are nodes in the right topology for the object code to have the token at the right time. The token is in the form of the Session Resources object that is available to a node when it is its turn to run.

This would all be so much easier if we could tell GROMACS to run to a specified step and then surrender control to the API. The alternative, I think we have to say that any cluster of nodes associated with a simulation is deferred to the libgromacs Context for handling. We've already inserted an object into do_md to manage the stop condition, so we can use it to synchronize the gmxapi Session by adding an additional hook that calls out to the Session each time the timestep is incremented, preferably after the PP coordinates data is in place...

@eirrgang eirrgang added this to the workflow checkpointing milestone May 29, 2018
@eirrgang eirrgang added this to To do in 0.0.6 May 29, 2018
@eirrgang eirrgang removed this from To do in 0.0.6 Jun 30, 2018
@eirrgang eirrgang added this to To do in 0.0.9 Jun 30, 2018
@eirrgang eirrgang mentioned this issue Jul 23, 2018
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
0.0.9
  
To do
Development

No branches or pull requests

1 participant