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

Fix slow marking of nonlinear iteration vars #11312

Merged

Conversation

phannebohm
Copy link
Contributor

Related Issues

Fixes #11302

Purpose

For each SCC of the system all variables were traversed, so the time complexity was O(N*S) where N is the number of variables and S is the number of SCCs.

Approach

By first collecting all nonlinear iteration vars in the same set and then marking them once it should now be O(N).

Fixes OpenModelica#11302

For each SCC of the system all variables were traversed, so the time
complexity was O(N*S) where N is the number of variables and S is
the number of SCCs.
By first collecting all nonlinear iteration vars in the same set and
then marking them once it should now be O(N).
@phannebohm
Copy link
Contributor Author

Oops, @mahge I guess we both fooled around with Jenkins simultaneously 😅

@mahge
Copy link
Contributor

mahge commented Oct 4, 2023

Oops, @mahge I guess we both fooled around with Jenkins simultaneously 😅

Ya I restarted it when it failed. It seems to be running now. Let see.

@phannebohm phannebohm merged commit 5d55005 into OpenModelica:master Oct 4, 2023
2 checks passed
@phannebohm phannebohm deleted the 11302-slow-mark-nonlinvars branch October 4, 2023 11:42
@phannebohm
Copy link
Contributor Author

Looks like it worked, see latest regression.

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.

Code generation for large Jacobians in nonlinear system initialization scales badly
2 participants