-
Notifications
You must be signed in to change notification settings - Fork 226
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 race conditions in differential evolution #1063
Conversation
fdbb506
to
fca35ef
Compare
@jzmaddock : I wonder if we could revisit the "no unicode in comments" rule-I had to remove all the accents from the author's names which I found somewhat inelegant. Going a bit further, maybe something like: template<typename ℝ> could really improve readability. I know we can use |
My two cents is I think revisiting the no unicode in comments would be good, but adding unicode into the actual code is not. SO says it varies from formerly illegal to just unsupported now: https://stackoverflow.com/questions/26660180/are-unicode-and-special-characters-in-variable-names-in-clang-not-allowed. |
I don't know if it's still the case (but I assume it is) that users on Windows in far eastern countries do not use Unicode character sets, and Unicode in source files (even in comments) renders them non-compilable. If you search hard enough you'll find some old bug reports on this which crop up whenever Unicode has crept in accidentally. Usually been my fault in the past, and usually for authors names as in your case here. Whatever we should run this past the mailing list rather than making a unilateral change? |
@jzmaddock , @mborland : I do enjoy the code readability improvements that unicode can bring, but it seems like this is an ax I probably shouldn't grind . . . |
dea8670
to
67cabce
Compare
06c6ad9
to
e655c8a
Compare
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## develop #1063 +/- ##
===========================================
- Coverage 85.31% 85.22% -0.10%
===========================================
Files 873 875 +2
Lines 66532 66568 +36
===========================================
- Hits 56765 56733 -32
- Misses 9767 9835 +68
... and 1 file with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
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.
TSAN and Helgrind both seem happy now. My one concern is that codecov shows that all the regions that involve synchronization are not covered by tests. Is this due to GHA not having enough threads available? It would probably be good to cover all of your param checks, and testing of validating your initial guess.
Through a combination of silly mistakes, I missed a pile of race conditions in the OpenMP threading. Switch to C++ threading. Note that this change requires serial generation of trial vectors. Hopefully I can figure out to parallelize the generation of trial vectors to reduce the serial section a la Ahmdahl's law, while simultaneously keeping thread sanitizer happy.
Through a combination of silly mistakes, I missed a pile of race conditions in the OpenMP threading.
Switch to C++ threading. Note that this change requires serial generation of trial vectors.
Hopefully I can figure out to parallelize the generation of trial vectors to reduce the serial section a la Ahmdahl's law,
while simultaneously keeping thread sanitizer happy.