Skip to content
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

Correct the last warnings and issues when using newer cuda versions #8525

Conversation

robertmaynard
Copy link
Contributor

This PR is the last round of changes to get cudf to compile cleanly with newer CUDA versions

  • Corrects a couple of outstanding unused parameter warnings not corrected by other PRs
  • Works around a compiler bug with std::move on temporaries by using structured bindings ( clamp.cu )
  • Works around a compiler bug with variadic template functions and the new unused parameter warning heuristic. I attempted multiple different solutions ( if constexpr, re-ordering SFINAE logic, adding fake usage via empty function/structs ) and nothing but removing the variadic template worked.

The usage of `std::move` on the components of std::pair was
causing issues with certain nvcc compiler versions. By moving
to structured bindings we can get the same outcome but avoid
the issue.
nvcc 11.3+ generates false positive warnings with variadic functions
under a couple of scenarios:

- multiple overloads of the same class function exist with SFINAE, and one
doesn't use all parameters.

- `if constexpr` causes some branches to not use all parameters.

For both of these case all usages will generate warnings, even
when they aren't activating the issue.
@robertmaynard robertmaynard added 3 - Ready for Review Ready for review by team tech debt improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Jun 15, 2021
@robertmaynard robertmaynard requested a review from a team as a code owner June 15, 2021 19:51
@github-actions github-actions bot added the libcudf Affects libcudf (C++/CUDA) code. label Jun 15, 2021
@robertmaynard
Copy link
Contributor Author

rerun tests

@codecov
Copy link

codecov bot commented Jun 16, 2021

Codecov Report

❗ No coverage uploaded for pull request base (branch-21.08@6728c75). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@               Coverage Diff               @@
##             branch-21.08    #8525   +/-   ##
===============================================
  Coverage                ?   82.95%           
===============================================
  Files                   ?      109           
  Lines                   ?    18226           
  Branches                ?        0           
===============================================
  Hits                    ?    15120           
  Misses                  ?     3106           
  Partials                ?        0           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6728c75...3e58f10. Read the comment docs.

@robertmaynard
Copy link
Contributor Author

@gpucibot merge

@rapids-bot rapids-bot bot merged commit 0301518 into rapidsai:branch-21.08 Jun 16, 2021
@robertmaynard robertmaynard deleted the bug/cleanly_compile_with_newer_cuda_versions branch June 16, 2021 21:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 - Ready for Review Ready for review by team improvement Improvement / enhancement to an existing function libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants