refactor C++ examples for new RAPIDS branching strategy - #5423
Conversation
|
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. |
| include(rapids-cuda) | ||
| include(rapids-find) | ||
|
|
||
| rapids_cuda_init_architectures(graph_operations) |
There was a problem hiding this comment.
Without this, compiling the examples failed like this:
-- The CXX compiler identification is GNU 14.3.0
CMake Error at /home/coder/.conda/envs/rapids/share/cmake-4.2/Modules/Internal/CMakeCUDAArchitecturesValidate.cmake:14 (message):
CMAKE_CUDA_ARCHITECTURES:
RAPIDS
is not one of the following:
* a semicolon-separated list of integers, each optionally
followed by '-real' or '-virtual'
* a special value: all, all-major, native
Not sure how this was working before.
| include(${CMAKE_CURRENT_LIST_DIR}/../../../../cmake/rapids_config.cmake) | ||
| include(rapids-cmake) | ||
| include(rapids-cuda) | ||
| include(rapids-find) |
There was a problem hiding this comment.
Each example invoking get_nccl.cmake needs rapids-find, to avoid:
-- Found MPI: TRUE (found version "3.1") found components: CXX
CMake Error at /home/coder/cugraph/cpp/cmake/thirdparty/get_nccl.cmake:12 (rapids_find_generate_module):
Unknown CMake command "rapids_find_generate_module".
Call Stack (most recent call first):
/home/coder/cugraph/cpp/cmake/thirdparty/get_nccl.cmake:23 (find_and_configure_nccl)
CMakeLists.txt:23 (include)
|
|
||
| project( | ||
| mg_graph_algorithms | ||
| sg_graph_algorithms |
There was a problem hiding this comment.
This one seemed like a typo.
| --help | ||
| " | ||
|
|
||
| VERBOSE_FLAG="" |
There was a problem hiding this comment.
Running ./build.sh all without supplying -v, CMake errored out like:
Unrecognized option:
(or similar, forgot to save the exact error).
Basically, passing through an empty string looked to CMake like an additional, empty command-line argument.
The changes I've made here avoid that.
| GIT_TAG ${CUGRAPH_TAG} | ||
| NAME cugraph | ||
| VERSION ${RAPIDS_VERSION} | ||
| FIND_PACKAGE_ARGUMENTS "PATHS ${cugraph_ROOT} ${cugraph_ROOT}/latest" GIT_REPOSITORY |
There was a problem hiding this comment.
Stole this from cuDF:
This helps CPMFindpackage() find your locall-built cuGraph in cugraph/cpp/build/, so it doesn't clone down a copy of the repo and recompile it.
Confirmed locally (see "How I tested this" in the PR description):
...
-- CPM: Using local package cugraph@26.04.0
...
| cpp | ||
| ) | ||
|
|
||
| include(../../../../cmake/rapids_config.cmake) |
There was a problem hiding this comment.
Moved these into each CMakeLists.txt.
rapids-cmake needs to be pulled in before the project() call to run rapids_init_cuda_architectures(), so it shouldn't happen in this shared file that's included after project().
|
I think NVIDIA/raft#2913 broke builds here |
bdice
left a comment
There was a problem hiding this comment.
Do we build these examples in CI? Might be a good follow-up.
We do not, and I don't see an open issue tracking that. Added one here: #5427 I'll let cuGraph developers decide on the priority of that one. |
|
2 of the 3 failing CI jobs are on RTX Pro 6000s, which should be skipped once we can get #5422 merged (I just restarted CI there again). The other one is a test timeout that I suspect will be resolved on a re-run. |
|
/merge |
Contributes to rapidsai/build-planning#224
In the new RAPIDS branching strategy (https://docs.rapids.ai/notices/rsn0047/), the default development branch is
mainand releases are finalized on branches namedrelease/{YY.MM}.Changes to the C++ examples to react to that:
VERSIONfile and a branch from theRAPIDS_BRANCHfile (previously was hard-coded tobranch-23.12)Notes for Reviewers
How I tested this
Opened a
cuad12.9-condadevcontainer and ran the following:build-cugraph-cpp cd ./cugraph/cpp/examples ./build.sh all