-
Notifications
You must be signed in to change notification settings - Fork 104
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
Implement ActiveList as C++ and use Pybind #2958
Conversation
57981fd
to
c573d72
Compare
95e4c50
to
d0230aa
Compare
test ert please |
d0230aa
to
20f7bc5
Compare
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.
Thanks for the PR! I think the changes here are good, but was also wondering if we might be able to do away with ActiveList
all together? Or perhaps reduce the usage?
I understand that the [1]: To implement everything related to local updates with proper C++ and pybind. The full PR was #2906 - but this was to unwieldy and the current PR is a first step in split series. |
I can agree that it is a benefit to go with pybind11 to make refactoring other parts of the codebase simpler. Have you considered making |
Yes. In the first pass I have let C pointers remain C pointers in order to keep the amount of change (somewhat) down - but it is fully my intention to get rid of the C pointers whenever possible. |
cb96286
to
d001e62
Compare
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.
This looks like a good change 👍 But some code seems to be moved around without being changed? Could you split that into a seperate commit if it needs to move? Would make it easier to review.
453e856
to
9dc3cd5
Compare
09a1286
to
1f6a7b3
Compare
Failed on jenkins when testing with "equinor data":
Suspecting flakyness. Can be restarted manually with "test required please!" |
Codecov Report
@@ Coverage Diff @@
## main #2958 +/- ##
==========================================
- Coverage 65.82% 65.69% -0.14%
==========================================
Files 639 640 +1
Lines 51150 51135 -15
Branches 4436 4450 +14
==========================================
- Hits 33671 33594 -77
- Misses 15841 15908 +67
+ Partials 1638 1633 -5
Continue to review full report at Codecov.
|
Thank you! Seems your comment actually provoked a manual restart - and now it is green 🎉 Now merge! |
Please review the commit history before merging :) |
As it it is now I would say the commits are in atomic units - so the alternatives I see are:
I'll do as told. |
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.
Thanks for splitting it up, have some comments and questions.
I would squash everything, but keep the commit messages ( except for the formatting and remove print messages) |
I tend to disagree, as I liked it split into atomic units, but will leave the choice up to you. |
And just a question, I ran this against the semeio tests, as we are using active lists there, and failed on: https://github.com/equinor/semeio/blob/24bc00bb1755ab420bc4b8e1f1be57c7f4096086/semeio/workflows/correlated_observations_scaling/obs_utils.py#L86 but seems to me that ( |
I agree - the return value here is a copy - and any keep-alive mechanism is unnecessary.
Thank you. |
b6af873
to
1b5bee5
Compare
OK - I have addressed all comments - still in separate commits, although the "format & debug" commits have been removed. |
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.
🚀
This PR will implement the
active_list
structure as a prope, C++ classActiveList
and wrap that with pybind. This is part of #2906 (which was a bit much to chew), will continue along the same lines to wrap the classes in thelocal_config
hierarchy.I understand that there is a desire to replace the entire active_list structure with a
std::vector<int>
, irrespective of the final decision on that question I hope the current PR (and eventually the rest of #2906) can be merged in something close to it's current state, these changes are needed in order to adress the adaptive localization stuff.