-
Notifications
You must be signed in to change notification settings - Fork 62
[BE] Do not run clockPartitioning unless needed #2211
base: master
Are you sure you want to change the base?
Conversation
This resolves ticket:4756 by keeping track of when clocked operators have been used.
The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2018-02-16_11-19-44. |
The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2018-02-21_11-25-51. |
The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2018-02-21_12-04-31. |
The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2018-02-21_12-25-29. |
The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2018-02-21_12-41-47. |
The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2018-02-21_13-05-33. |
The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2018-02-21_13-23-54. |
It really seems like clockPartioning is doing more than just finding out clock partitions. Any chance to get a good understanding of what that actually is? |
I don't know. I just ran this job a bunch of times while testing VisualStudio-related things |
The module is also calculating independent partitions to run other modules with smaller equation sets. |
@lochel: OK. So, that will mean that if there are functions in the backend whose complexity is (significantly) greater than O(N), the overall time should be smaller if there are such independent systems, as long as this is not offset by the time taken by this module. Are you aware of any such functions, besides those who scale badly due to sub-optimal implementation (see #4146)? Anyway, I would suggest to change its name to systemPartitioning, as it doesn't necessarily involve clocks. Unless the system partitioning and the clock partitioning can be split in two separate modules, is that the case? Sorry for asking about all these details, but all the documentation of this module says is
which is incorrect and a bit misleading. In fact, there was an old flag (disablePartitioning) which was more correctly described as
Unfortunately this is now deprecated in favour of clockPartitioning |
@lochel Sure, you can push to my branch I'm sure. Then we can rename it and see if it helps performance to disable only the clock partitioning part. |
This resolves ticket:4756 by keeping track of when clocked operators
have been used.