-
Notifications
You must be signed in to change notification settings - Fork 466
Try implicit none #486
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
Try implicit none #486
Conversation
Does someone know how to avoid explicitly setting up |
i have no idea how to avoid setting ulimit. This PR might be a good opportunity to add |
I found four out of bound errors when running the tests with the flag. I will try to look at them tomorrow, but maybe it is better to address this issue in another branch. I don't know... |
Codecov Report
@@ Coverage Diff @@
## master #486 +/- ##
==========================================
- Coverage 83.34% 83.33% -0.01%
==========================================
Files 1820 1820
Lines 170849 170849
==========================================
- Hits 142395 142378 -17
- Misses 28454 28471 +17
Continue to review full report at Codecov.
|
bounds checks were addressed in #481, i guess it can wait till that routine is fixed |
I wonder if it would be acceptable to build just TESTING/EIG (or in particular, xeigtstz) without |
Yes.. maybe, since it is optional. I don't have formed opinion about that. I will mention Julien @langou here to give his opinion. |
Yes, sure, if that fixes it, compiling the .o in EIG related to "xeigtstz" without -frecursive flag is fine. I am confused. I thought -frecursive was supposed actually to help with the |
also, i think |
=> no no, I do not think this is why we used this flag. I think all recursive routines are correctly labelled. We used the flag
=> Thanks for explaining. |
Ok then! I will try it here and see if Travis is ok without |
A possible explanation is multithreading. If multiple threads call a routine with static allocations it might interfere. Stack allocations would avoid that. But its fine for the ci since it doesn't do multithreading (at least not within the same process). And for reference, the reason that martin suggested excluding the eigenvalue tests is because those require a pretty large local workspace for legacy reasons. This is partly so that the small bulge multishift qr implementation could be a drop in replacement for the old one. For zhseqr, a 49x49 double complex local array is easily larger than system stack limits. To my knowledge, this is the largest local array in the entire repository. |
f79c34b
to
006994d
Compare
=> Ah yes, that is that, thanks @thijssteel. And @zerothi is correct in reminding us of So, based on this, I think we want to leave the |
ugh, this is why we can't have nice things. On a more serious note, i disagree that we should use the flag as much as possible. For the same reason, i think we should add |
Hi @thijssteel, I think we agree. I agree with most you write above.
What I was trying to say is that we want to avoid as much as possible users to create a libreflapack.a that is not thread safe. So I think we want to have |
As a sidenote, since my recent PR, we can actually reduce NL a little if we want to. |
This reverts commit be1e324 based on @thijssteel's comment at Reference-LAPACK#486 (comment)
Based on the previous comments, I think we all agree with #486 (comment) |
I agree! I removed it then, which was a mistake. So work-arounds or implicit |
Summary of PR #486:
|
Just one last question regarding the |
This reverts commit e8eb920 based on @thijssteel's comment at Reference-LAPACK#486 (comment)
…icit-none Summary of PR Reference-LAPACK#486: 1. There was a bug in the Makefile, and this is why AppVeyor stopped working. I solved it. 2. A recent commit was caused by a variable that was not defined, and the compiler couldn't track it. @thijssteel suggested adding `-fimplicit-none` to the CI on Reference-LAPACK#484. I did it.
Closes #484
Following @thijssteel's suggestion, I added
-fimplicit-none
to the CI.