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

Correctly compile benchmarks #7485

Merged

Conversation

robertmaynard
Copy link
Contributor

The refactor in #7107 introduced two subtle bugs that caused benchmarks to not build correctly.

  1. The benchmark_main target needs to be explicitly placed on the final executable link line as it injects object files, and that doesn't work via transitive propagation.
  2. The variable names BUILD_BENCHMARKS and BUILD_TESTING are shared between RMM and CUDF. When CUDF builds RMM via CPM it will force cache these variables to OFF. This means that if a developer try to run cmake -DBUILD_BENCHMARKS=ON . any subsequent execution of just cmake . will cause CUDF to forget it should have kept benchmarks enabled.

CPM will force these variables to OFF and add them to the CMakeCache.
This causes problems when you re-execute cmake in the same build
directory as now they are set to OFF, and CUDF will not enable
benchmarks/tests.
@robertmaynard robertmaynard requested a review from a team as a code owner March 2, 2021 18:31
@github-actions github-actions bot added CMake CMake build issue libcudf Affects libcudf (C++/CUDA) code. labels Mar 2, 2021
@kkraus14 kkraus14 added bug Something isn't working non-breaking Non-breaking change labels Mar 2, 2021
@trxcllnt
Copy link
Contributor

trxcllnt commented Mar 2, 2021

Does the same transitive propagation issue exist with GTest::gmock_main and GTest::gtest_main?

@robertmaynard
Copy link
Contributor Author

Does the same transitive propagation issue exist with GTest::gmock_main and GTest::gtest_main?

Good question. I will update those just in case.

@codecov
Copy link

codecov bot commented Mar 2, 2021

Codecov Report

Merging #7485 (c42d2e2) into branch-0.19 (f4f4d87) will increase coverage by 0.40%.
The diff coverage is n/a.

Impacted file tree graph

@@               Coverage Diff               @@
##           branch-0.19    #7485      +/-   ##
===============================================
+ Coverage        81.85%   82.26%   +0.40%     
===============================================
  Files              101      101              
  Lines            16883    17244     +361     
===============================================
+ Hits             13819    14185     +366     
+ Misses            3064     3059       -5     
Impacted Files Coverage Δ
python/cudf/cudf/core/abc.py 87.23% <0.00%> (-1.14%) ⬇️
python/cudf/cudf/io/feather.py 100.00% <0.00%> (ø)
python/cudf/cudf/comm/serialize.py 0.00% <0.00%> (ø)
python/cudf/cudf/_fuzz_testing/io.py 0.00% <0.00%> (ø)
python/cudf/cudf/core/column/struct.py 100.00% <0.00%> (ø)
python/dask_cudf/dask_cudf/_version.py 0.00% <0.00%> (ø)
python/cudf/cudf/_fuzz_testing/fuzzer.py 0.00% <0.00%> (ø)
python/cudf/cudf/utils/hash_vocab_utils.py 100.00% <0.00%> (ø)
python/dask_cudf/dask_cudf/io/tests/test_csv.py 100.00% <0.00%> (ø)
python/dask_cudf/dask_cudf/io/tests/test_orc.py 100.00% <0.00%> (ø)
... and 39 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 f4f4d87...c42d2e2. Read the comment docs.

@kkraus14
Copy link
Collaborator

kkraus14 commented Mar 2, 2021

@gpucibot merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.

3 participants