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

Always build and export the cudf::cudftestutil target #7574

Merged

Conversation

trxcllnt
Copy link
Contributor

We should always build the static cudftestutil target regardless of whether BUILD_TESTS=ON was passed.

Needed by #7484 and rapidsai/cuspatial#365.

@trxcllnt trxcllnt requested a review from robertmaynard March 11, 2021 20:30
@trxcllnt trxcllnt requested a review from a team as a code owner March 11, 2021 20:30
@github-actions github-actions bot added CMake CMake build issue libcudf Affects libcudf (C++/CUDA) code. labels Mar 11, 2021
@trxcllnt trxcllnt added non-breaking Non-breaking change and removed CMake CMake build issue libcudf Affects libcudf (C++/CUDA) code. labels Mar 11, 2021
@trxcllnt trxcllnt requested review from jdye64 and kkraus14 March 11, 2021 20:31
@trxcllnt trxcllnt added 3 - Ready for Review Ready for review by team 4 - Needs Review Waiting for reviewer to review or respond CMake CMake build issue improvement Improvement / enhancement to an existing function labels Mar 11, 2021
Comment on lines +490 to +494
add_library(cudftestutil STATIC
tests/utilities/base_fixture.cpp
tests/utilities/column_utilities.cu
tests/utilities/table_utilities.cu
tests/strings/utilities.cu)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Given enough other downstream libraries are depending on this, should we just include it in libcudf.so instead of producing a separate static library that people static link?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@jrhemstad 👆 👀

Copy link
Contributor

Choose a reason for hiding this comment

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

I really don't think so. That would artificially increase the size of libcudf.so for people who don't care about the test utilities. e.g., cuDF Python, Spark, etc.

Copy link
Collaborator

Choose a reason for hiding this comment

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

We distribute this in the packaging mechanisms so it doesn't matter for cuDF Python currently anyway, but that's a fair point. Maybe we should consider making this a separate shared library along the lines of libcudf_testutil or something like that. We could then eventually package it separately, but not high priority.

@jrhemstad
Copy link
Contributor

This seems like something that shouldn't always be on, but a separate CMake config that is enabled by BUILD_TESTS, but can be separately enabled if BUILD_TEST=OFF.

@trxcllnt
Copy link
Contributor Author

@jrhemstad that would mean people couldn't use cudftestutils via (for example) our conda package?

@jrhemstad
Copy link
Contributor

@jrhemstad that would mean people couldn't use cudftestutils via (for example) our conda package?

People already complain about the size of our packages. I assume if a library is going to be using our test utilities, it's a library we're tightly integrated with and they'll likely be building from source anyways.

@trxcllnt
Copy link
Contributor Author

libcudftestutil.a is 5.6MB

@github-actions github-actions bot added the libcudf Affects libcudf (C++/CUDA) code. label Mar 11, 2021
@codecov
Copy link

codecov bot commented Mar 11, 2021

Codecov Report

Merging #7574 (12e09c0) into branch-0.19 (7871e7a) will increase coverage by 0.52%.
The diff coverage is 93.75%.

Impacted file tree graph

@@               Coverage Diff               @@
##           branch-0.19    #7574      +/-   ##
===============================================
+ Coverage        81.86%   82.39%   +0.52%     
===============================================
  Files              101      101              
  Lines            16884    17350     +466     
===============================================
+ Hits             13822    14295     +473     
+ Misses            3062     3055       -7     
Impacted Files Coverage Δ
python/cudf/cudf/core/index.py 93.34% <ø> (+0.48%) ⬆️
python/cudf/cudf/core/column/numerical.py 94.83% <87.50%> (-0.20%) ⬇️
python/cudf/cudf/core/frame.py 89.09% <89.47%> (+0.08%) ⬆️
python/cudf/cudf/core/column/column.py 87.86% <90.00%> (+0.10%) ⬆️
python/cudf/cudf/core/column/decimal.py 92.75% <90.32%> (-2.12%) ⬇️
python/cudf/cudf/core/dataframe.py 90.58% <95.65%> (+0.11%) ⬆️
python/cudf/cudf/core/series.py 91.57% <95.83%> (+0.79%) ⬆️
python/cudf/cudf/core/column/categorical.py 91.97% <100.00%> (+0.58%) ⬆️
python/cudf/cudf/core/column/datetime.py 89.63% <100.00%> (+0.54%) ⬆️
python/cudf/cudf/core/column/string.py 86.76% <100.00%> (+0.26%) ⬆️
... and 58 more

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 c1c60ba...12e09c0. Read the comment docs.

@trxcllnt
Copy link
Contributor Author

rerun tests

@trxcllnt
Copy link
Contributor Author

@jrhemstad apparently we already ship libcudftestutil.a in our conda package, so this PR only makes the cudf::cudftestutil target available unconditionally.

@trxcllnt trxcllnt requested a review from kkraus14 March 13, 2021 03:06
@kkraus14
Copy link
Collaborator

@gpucibot merge

@rapids-bot rapids-bot bot merged commit 5f12732 into rapidsai:branch-0.19 Mar 17, 2021
rapids-bot bot pushed a commit to rapidsai/cuspatial that referenced this pull request Mar 30, 2021
This PR includes many of the same changes as were made in [cudf/pull/7107](rapidsai/cudf#7107).

* Export `cuspatial::cuspatial` CMake alias targets.
* Fixes -Wall errors discovered when changing compile flags.
* Use `CPMFindPackage` to find `libcudf` installed on the system or build `libcudf` from source.

edit: Depends on rapidsai/cudf#7574 and rapidsai/cudf#7734

Authors:
  - Paul Taylor (@trxcllnt)

Approvers:
  - AJ Schmidt (@ajschmidt8)
  - Mark Harris (@harrism)
  - Keith Kraus (@kkraus14)

URL: #365
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 4 - Needs Review Waiting for reviewer to review or respond CMake CMake build issue 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