-
Notifications
You must be signed in to change notification settings - Fork 11
Support multithreading for AC sensitivity analysis #1288
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
Conversation
Signed-off-by: Didier Vidal <[email protected]>
Signed-off-by: Didier Vidal <[email protected]>
Signed-off-by: Didier Vidal <[email protected]>
Signed-off-by: Didier Vidal <[email protected]>
Signed-off-by: Didier Vidal <[email protected]>
be51bc9 to
c52497a
Compare
Signed-off-by: Didier Vidal <[email protected]>
Signed-off-by: Didier Vidal <[email protected]>
Signed-off-by: Didier Vidal <[email protected]>
Signed-off-by: Didier Vidal <[email protected]>
Signed-off-by: Didier Vidal <[email protected]>
This comment was marked as outdated.
This comment was marked as outdated.
…ncy not in current batch Signed-off-by: Didier Vidal <[email protected]>
Signed-off-by: Didier Vidal <[email protected]>
src/main/java/com/powsybl/openloadflow/sensi/mt/BufferedFactorReader.java
Outdated
Show resolved
Hide resolved
src/main/java/com/powsybl/openloadflow/sensi/mt/BufferedFactorReader.java
Outdated
Show resolved
Hide resolved
src/main/java/com/powsybl/openloadflow/sensi/mt/SequentialSensitivityResultWriter.java
Outdated
Show resolved
Hide resolved
…Reader.java Co-authored-by: Sylvestre Prabakaran <[email protected]> Signed-off-by: vidaldid-rte <[email protected]>
Signed-off-by: Didier Vidal <[email protected]>
Signed-off-by: Didier Vidal <[email protected]>
src/main/java/com/powsybl/openloadflow/util/mt/ContingencyMultiThreadHelper.java
Outdated
Show resolved
Hide resolved
|
|
||
| // create networks including all necessary switches | ||
| lfNetworks = Networks.load(network, parameters.getNetworkParameters(), partitionTopoConfig, threadRootNode); | ||
| lfNetworksList.add(0, lfNetworks); // FIXME to workaround variant removal bug, to fix in core |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was already like this before, but what is the reason to add at index 0 ? (which can be renamed addFirst())
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe the mytserious FIXME comment ?
I decided to be disciplined and keep the same thing to focus this PR on adding MT support to AC sensi.
Given that it is something odd, I would prefer to keep shocking Sonar and use this add API.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Outch I confirm, there was a bug in the network variant management (an error was throw, so something very explicit), but I don't remenber having fixed it in powsybl core... So I guess the bug is still there. Maybe to test again and to try creating a test case on core side ?
Signed-off-by: Didier Vidal <[email protected]>
Signed-off-by: Didier Vidal <[email protected]>
Signed-off-by: Didier Vidal <[email protected]>
Signed-off-by: Didier Vidal <[email protected]>
|



Please check if the PR fulfills these requirements
Does this PR already have an issue describing the problem?
No
What kind of change does this PR introduce?
Support multithreading for AC Sensitivity analysis
What is the current behavior?
AC sensnsitivity analysis can only be computed in single threaded mode
What is the new behavior (if this is a feature change)?
a sensitivity analysis param is added: thredaCount
If set with value higher than 1, contingencies are partionned with one partition per thread.
Each thread computes the SA for its partition.
Results are consolidated. It is not visible that they are run in MT unless you stream with the sensi writer and see them apperaing in an unordered way.
Does this PR introduce a breaking change or deprecate an API?