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

Rework of PKs to split out parseParameterList, make RequireEvaluator() call EnsureEvaluators() #270

Merged
merged 8 commits into from
Aug 30, 2024

Conversation

ecoon
Copy link
Collaborator

@ecoon ecoon commented Aug 26, 2024

This creates another level of setup, called parseParameterList(), that occurs after PK construction but before Setup. Most ATS PKs constructor contents are now moved into parseParameterList(), and all PKs are modified to have them set their primary variables in this call. This allows the key advancement that calling State::SetEvaluator(key, tag, eval) (the function that is called inside of RequireEvaluator(...) after construction) can now call eval->EnsureEvaluators(). This means that the DAG is now valid as soon as the evaluator is set. This allows some important changes to the use of the dag, e.g. calling Evaluator::IsDifferentiableWRT() immediately after calling RequireEvaluator().

This PR closes #167

@ecoon
Copy link
Collaborator Author

ecoon commented Aug 30, 2024

This blocks #186 -- progress can now begin on that on a transport branch

@ecoon ecoon changed the title Rework of PKs to split out parseParameterList, make SetEvaluator() call EnsureEvaluators() Rework of PKs to split out parseParameterList, make RequireEvaluator() call EnsureEvaluators() Aug 30, 2024
@ecoon ecoon merged commit e45b24a into master Aug 30, 2024
1 check passed
@ecoon ecoon deleted the ecoon/ats_167 branch August 30, 2024 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

should the sub-dag be valid as soon as an evaluator is required?
1 participant