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

simplify wholegraph CMake, other small building and testing changes #102

Merged
merged 2 commits into from
Jan 3, 2025

Conversation

jameslamb
Copy link
Member

@jameslamb jameslamb commented Jan 2, 2025

Proposes some miscellaneous packaging cleanup:

  • sets minimum CMake version to 3.26.4 everywhere, to match the rest of RAPIDS
  • removes commented-out CMake code
  • removes unnecessary variables throughout CMake code
    • including consolidating version references to use RAPIDS_VERSION from
      set(RAPIDS_VERSION "${RAPIDS_VERSION_MAJOR}.${RAPIDS_VERSION_MINOR}.${RAPIDS_VERSION_PATCH}")
  • updates some pre-commit hooks to their latest versions

@jameslamb jameslamb added improvement Improves an existing functionality non-breaking Introduces a non-breaking change DO NOT MERGE Hold off on merging; see PR for details labels Jan 2, 2025
Copy link

copy-pr-bot bot commented Jan 2, 2025

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@jameslamb
Copy link
Member Author

/ok to test


set -euo pipefail

rapids-logger "Create test conda environment"
. /opt/conda/etc/profile.d/conda.sh

RAPIDS_VERSION="$(rapids-version)"
export RAPIDS_VERSION_MAJOR_MINOR="$(rapids-version-major-minor)"
Copy link
Member Author

Choose a reason for hiding this comment

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

For re-use in cpp/Doxyfile

@@ -38,7 +38,7 @@ PROJECT_NAME = "WholeGraph C API"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 25.02
PROJECT_NUMBER = $(RAPIDS_VERSION_MAJOR_MINOR)
Copy link
Member Author

Choose a reason for hiding this comment

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

This is what other RAPIDS projects are doing, e.g. rmm: https://github.com/rapidsai/rmm/blob/8275ba8dc94a7fc63d9513acd81e3a2cf30a85d1/doxygen/Doxyfile#L41

One less hard-coded version is nice for:

  • smaller diffs on updates when development switches to new versions
  • simpler update-version.sh
  • reduced risk of inconsistencies between docs and code

@jameslamb jameslamb changed the title WIP: simplify wholegraph CMake, other small building and testing changes simplify wholegraph CMake, other small building and testing changes Jan 2, 2025
@jameslamb jameslamb removed the DO NOT MERGE Hold off on merging; see PR for details label Jan 2, 2025
@jameslamb jameslamb marked this pull request as ready for review January 2, 2025 18:19
@jameslamb jameslamb requested review from a team as code owners January 2, 2025 18:19
@jameslamb jameslamb requested a review from raydouglass January 2, 2025 18:19
Copy link
Contributor

@linhu-nv linhu-nv left a comment

Choose a reason for hiding this comment

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

seems good to me. thx

include(rapids-cmake)
include(rapids-cuda)
include(rapids-cpm)

rapids_cuda_init_architectures(PYLIBWHOLEGRAPH)

project(PYLIBWHOLEGRAPH VERSION ${WHOLEGRAPH_VERSION} LANGUAGES CXX CUDA)
project(
PYLIBWHOLEGRAPH
Copy link
Contributor

Choose a reason for hiding this comment

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

We're a little inconsistent about this across repos but it might be nice to use lowercase pylibwholegraph here. However, it's fine if that is out-of-scope for this PR (and/or not important enough to change at all).

e.g. cuDF has project(CUDF...) but also project(pylibcudf...), so our casing is not consistent even within a repo.

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks, yeah I'd noticed that. Let's treat it as out-of-scope for this PR. I'd like to merge this to simplify things ahead of setting up libwholegraph wheels.

The project name flows into a bunch of other variables that CMake generates (see https://cmake.org/cmake/help/latest/command/project.html#command:project) and I'm not sure if those are case-sensitive, so changing the case could require other changes to CMake code here (and maybe in other places that build wholegraph from source, like RAPIDS devcontainers). I'd rather not work through that right now.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, all those downstream uses are case sensitive. At some point we may want to strive for consistency across RAPIDS but it’s low priority - lots of work, risk of breakage, and not a lot of value.

@jameslamb
Copy link
Member Author

/merge

@rapids-bot rapids-bot bot merged commit 71675d8 into rapidsai:branch-25.02 Jan 3, 2025
85 checks passed
@jameslamb jameslamb deleted the packaging-updates branch January 3, 2025 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Improves an existing functionality non-breaking Introduces a non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants