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

Only install thrust when using a non 'system' version #9206

Conversation

robertmaynard
Copy link
Contributor

Previously cudf presumed that no system version of Thrust matched the version cudf required, but with the merger
of rapidsai/rmm#854 this isn't true.

Previously cudf presumed that no system version of Thrust
matched the version cudf required, but with the merger
of rapidsai/rmm#854 this isn't true.
@robertmaynard robertmaynard added bug Something isn't working 3 - Ready for Review Ready for review by team CMake CMake build issue non-breaking Non-breaking change labels Sep 9, 2021
@robertmaynard robertmaynard requested a review from a team as a code owner September 9, 2021 19:51
@github-actions github-actions bot added the libcudf Affects libcudf (C++/CUDA) code. label Sep 9, 2021
@galipremsagar
Copy link
Contributor

rerun tests

@codecov
Copy link

codecov bot commented Sep 10, 2021

Codecov Report

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

Impacted file tree graph

@@               Coverage Diff               @@
##             branch-21.10    #9206   +/-   ##
===============================================
  Coverage                ?   10.82%           
===============================================
  Files                   ?      115           
  Lines                   ?    19154           
  Branches                ?        0           
===============================================
  Hits                    ?     2074           
  Misses                  ?    17080           
  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 473063f...7448c4c. Read the comment docs.

DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/libcudf/Thrust/dependencies/"
FILES_MATCHING
PATTERN "*.cuh")
if(Thrust_SOURCE_DIR) # only install thrust when we have an in-source version
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Forgive me for being ignorant, but shouldn't all this stuff be encapsulated in Thrust's cmake target?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since cudf patches Thrust and therefore it isn't identical to the upstream version we wanted to ensure that won't be used by other projects accidentally. To do this we install Thrust inside of cudfs include directory.

Once we upstream the cudf patches of Thrust we can remove all of this

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know Thrust has some machinery for injecting a custom namespace to ensure our custom thrust doesn't conflict with other versions. Do you think that's relevant here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Namespacing would solve an issue if downstream consumers of cudf need to also bring in a non-patched version of Thrust into a library calling cudf. I/we should sync with the thrust team, it might be best for cudf to always namespace our thrust inclusion going forward.

I would prefer to not use this PR to hash out the larger cudf/thrust issue as this resolves our currently broken CI pipelines.

@harrism
Copy link
Member

harrism commented Sep 13, 2021

@gpucibot merge

@rapids-bot rapids-bot bot merged commit 28a6292 into rapidsai:branch-21.10 Sep 13, 2021
@robertmaynard robertmaynard deleted the bug/only_install_thrust_when_cpm_added branch September 13, 2021 13:30
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 bug Something isn't working CMake CMake build issue libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants