Skip to content
This repository has been archived by the owner on May 18, 2019. It is now read-only.

[BE] Do not run clockPartitioning unless needed #2211

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sjoelund
Copy link
Member

This resolves ticket:4756 by keeping track of when clocked operators
have been used.

This resolves ticket:4756 by keeping track of when clocked operators
have been used.
@OpenModelica-Hudson
Copy link
Member

The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2018-02-16_11-19-44.

@OpenModelica-Hudson
Copy link
Member

The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2018-02-21_11-25-51.

@OpenModelica-Hudson
Copy link
Member

The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2018-02-21_12-04-31.

@OpenModelica-Hudson
Copy link
Member

The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2018-02-21_12-25-29.

@OpenModelica-Hudson
Copy link
Member

The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2018-02-21_12-41-47.

@OpenModelica-Hudson
Copy link
Member

The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2018-02-21_13-05-33.

@OpenModelica-Hudson
Copy link
Member

The test suite is unstable according to OpenModelica_TEST_PULL_REQUEST 2018-02-21_13-23-54.

@casella
Copy link

casella commented Feb 21, 2018

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?

@sjoelund
Copy link
Member Author

I don't know. I just ran this job a bunch of times while testing VisualStudio-related things

@lochel
Copy link
Member

lochel commented Feb 21, 2018

The module is also calculating independent partitions to run other modules with smaller equation sets.

@casella
Copy link

casella commented Feb 21, 2018

@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

clockPartitioning (Does the clock partitioning.)

which is incorrect and a bit misleading. In fact, there was an old flag (disablePartitioning) which was more correctly described as

Deactivates partitioning of entire equation system. 

Unfortunately this is now deprecated in favour of clockPartitioning

@lochel
Copy link
Member

lochel commented Feb 23, 2018

@casella No, I am not aware of further modules. But that doesn't mean too much...

I think it is reasonable to rename that module. I am fine with the proposal systemPartitioning.

@sjoelund If you want, I can take over this PR and implement the switch to deactivate the clock partitioning.

@sjoelund
Copy link
Member Author

@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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants