-
Notifications
You must be signed in to change notification settings - Fork 479
Remove legacy warning for non IEEE 754 compliant machines #852
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
Hi Angelika, From Jim Demmel:
Cheers, |
So based on Jim's comments, it looks like all the changes of Angelika are great. 👍 The changes to (S/D)LAED3 are good. Then I think to be consistent, we might, in addition, want to do the "same" changes to (S/D)LAED9 and (S/D)LASD3. This would leave the use of (S/D)LAMC3 in (S/D)LALS0 and (S/D)LASD8. Which is what, I think, we want. This agrees with Jim's email. So here are a few more suggested changes. (S/D)LAED9: Lines 233 to 235 in a83d8d2
And then DLAMDA (sic.) would be INPUT (as opposed to IN/OUT), but it is already declared as INPUT only (by mistake), so nothing to change then: Line 99 in a83d8d2
(S/D)LASD3: Lines 330 to 332 in a83d8d2
And then DSIGMA would be INPUT (as opposed to IN/OUT), so need to edit this line of comment: Line 106 in a83d8d2
|
If possible, since we are editing (S/D)LAED3 and the likes, maybe we can change A
So, it would, be nice to change all these |
@angsch writes
The fact that we are lacking comments is a good point. Maybe, in (S/D)LALS0 and (S/D)LASD8, just before calling LACM3, we add something like:
And, in (S/D)LAMC3, we write
|
Thank you, Julien, for following up and checking with Prof Demmel 👍. It really makes sense to fix |
be60246
to
991c965
Compare
Summary of changes:
|
We are getting a bunch of errors with CMake due to missing executables. At least some appear to be related to the CBLAS suffix change.
|
Thanks. I reverted #856. Can you try again to run the test? |
This comment is irrelevant on any machine that realizes IEEE 754.
* Rename dlamda -> dlambda * Remove those calls to lamc3 that are a workaround for old Cray machines * Document the purpose of the remaining lamc3 calls * Update documentation where dlambda has become an input rather than input & output Thanks to @langou and Prof Demmel for investigating the purpose of the lamc3 calls and suggesting a solution.
991c965
to
e186ae4
Compare
Codecov ReportPatch and project coverage have no change.
Additional details and impacted files@@ Coverage Diff @@
## master #852 +/- ##
=======================================
Coverage 0.00% 0.00%
=======================================
Files 1916 1916
Lines 188509 188485 -24
=======================================
+ Misses 188509 188485 -24
☔ View full report in Codecov by Sentry. |
Rebasing solved the CI problems. 👍 |
Following the removal of
LABAD
, it looks reasonable to remove the comment warning about non IEEE 754 compliant machines. The machines mentioned in the comment date back to the 80s.Besides deleting the comments in
LAED3
, also the call toLAMC3
is removed. The purpose ofLAMC3
is to add 2 real numbers without compiler optimization.LAMC3
appears to me like a outdated function that should be fully removed from LAPACK. BesidesLAED3
, there are a bunch of other routines such asSLALS0
whereLAMC3
is called. None of these explain explicitly whyLAMC3
is required. I think that these occurrences serve the same reason as inLAED3
, ie avoid accuracy problems on non-IEEE compliant machines. Do you agree?