-
Notifications
You must be signed in to change notification settings - Fork 915
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] Make all nvcc
warnings into errors
#8916
Conversation
I would love to enable this. But the recursive device function and the initialization of shared memory are really hard to work around... Is there a pragma we can use to disable those warnings only at those two locations? |
For the unused parameters, just delete the parameter name from the parameter list. |
I tried my hand at fixing those. I converted the recursive method into iterative with a separately allocated stack. The shared mem should be easy. Just need to replace the span with a data ptr and size and add a method that returns a span from it. |
@devavret are you working on the cuIO changes, then? |
Yep. PR will be ready shortly. |
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.
We should not enable this. There are types in both libcu++ and cuCo where the shared memory static initialization warning cannot be worked around.
@jrhemstad We can disable errors based on that warning, while enabling all others. But fixing the cuIO static initialization warning should be done regardless. |
Contributes to #8916 Authors: - Devavret Makkar (https://github.com/devavret) Approvers: - Vukasin Milovanovic (https://github.com/vuule) - David Wendt (https://github.com/davidwendt) URL: #8975
This PR has been labeled |
@jrhemstad are you still opposed to this? As of today (just tested) our build succeeds with |
I am fine with doing more, but that seems way too broad. It looks like the error is just in arrow's
Could you try adding the pragmas locally and see if tests pass for you? If so, then we can add that in this PR and hopefully be set. I'm not really convinced that will fix the issue though because you are seeing the error when compiling arrow itself. I think we need to avoid propagating the new option to the arrow build itself. However, testing this out should confirm that theory. |
I see warnings with |
Sorry yes I missed that that S3FileSystem was in a different header file. The problems are all the same, not overloading all signatures of |
Humnn, |
@ttnghia the pragmas you want are documented in the page I linked above. You should use the narrowest possible, so something like
|
Codecov ReportBase: 87.47% // Head: 88.11% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## branch-22.12 #8916 +/- ##
================================================
+ Coverage 87.47% 88.11% +0.63%
================================================
Files 133 135 +2
Lines 21826 21985 +159
================================================
+ Hits 19093 19372 +279
+ Misses 2733 2613 -120
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
Okay using |
@ttnghia I've pushed the changes, let me know if those are consistent with what you needed to do. |
We still miss this:
when building |
OK I don't see any direct inclusions of |
Yes, I confirm that the latest patch fixes all errors for me. Thanks for working on this 😄 👍 |
Compiling with |
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.
I would like this behavior to be controlled with a CMake option ( default to ON ). The big issue is that when new compiler versions are released they will have new warnings / errors are better heuristics which will cause hard build failures.
During this bringup phase it is nice to be able to compile with warnings not as errors, verify correctness of the binary and go back to fixing the warning or submitting a compiler regression.
@gpucibot merge |
Seeing what impact
-Werror=all-warnings
has on device-side compilation.Device warnings now treated as errors: