adding wheel build for libcudf#15483
adding wheel build for libcudf#15483rapids-bot[bot] merged 122 commits intorapidsai:branch-24.10from
Conversation
973ce98 to
1ac95d4
Compare
|
Stuck on dlpack here. The failure is: |
I'm not at all sure that I've done this correctly. This is intended to support local development with a devcontainer for the work in rapidsai/cudf#15483
|
@vyasr the build is passing now, but the tests seem to show that the library (libcudf.so) can't be found. It does seem like libcudf-cuXY is being installed OK, so I'm thinking it has to be some kind of RPATH issue. I don't see how you've addressed this in the RMM PR. Any advice? I've inspected one of the libcudf wheels, and it has both lib and lib64 folders. The lib folder has nvcomp stuff, and lib64 has libcudf.so. |
|
You won't see this in the rmm PR because rmm is header-only, so there is no library there. The raft PR is a more useful example here. What you want to look at is actually the Python components of the libraft library, specifically the |
5b6bc46 to
580779d
Compare
|
You have to set the variables before the rapids-cmake clone happens, which in this case is in the |
|
I've gone through and responded to the many threads where there was open discussion that needed some feedback from me, but I haven't reviewed yet. Will do that soon. |
bdice
left a comment
There was a problem hiding this comment.
I only have a couple minor suggestions, so I am approving this. There are some open conversations, mostly items that I think are between @jameslamb and @vyasr to resolve (or defer for later work). If you need more feedback on those, let me know.
I also removed some reviewers that were autoassigned, to reduce the noise for those folks.
Co-authored-by: Bradley Dice <[email protected]>
…comp is found at build time
There was a problem hiding this comment.
Error in the pip devcontainers:
ERROR: Could not find a version that satisfies the requirement libcudf-cu12==24.10.*,>=0.0.0a0 (from versions: none)
ERROR: No matching distribution found for libcudf-cu12==24.10.*,>=0.0.0a0
Is this blocked by rapidsai/devcontainers#271?
Edit: yes. From the description:
We should merge that when this is just about ready, then re-run the failing devcontainers CI jobs here.
| python -m auditwheel repair -w ${package_dir}/final_dist ${package_dir}/dist/* | ||
| python -m auditwheel repair \ | ||
| --exclude libcudf.so \ | ||
| --exclude libarrow.so.1601 \ |
There was a problem hiding this comment.
Depending on merge order this can be removed.
| RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})" | ||
|
|
||
| mkdir -p ${package_dir}/final_dist | ||
| python -m auditwheel repair --exclude libarrow.so.1601 -w ${package_dir}/final_dist ${package_dir}/dist/* |
There was a problem hiding this comment.
As above, this will be removable soon.
I'm not at all sure that I've done this correctly. This is intended to support local development with a devcontainer for the work in rapidsai/cudf#15483 Co-authored-by: James Lamb <[email protected]>
|
devcontainers job passed after merging rapidsai/devcontainers#271, https://github.com/rapidsai/cudf/actions/runs/10515765176/job/29173481700?pr=15483 😁 thanks @AyodeAwe Given that + all the approvals here, I'm gonna merge this. Thanks so much for all the help everyone!!! |
|
/merge |
Description
Contributes to rapidsai/build-planning#33
Adds a standalone
libcudfwheel, containing thelibcudfC++ shared library.Fixes #16588
Checklist
Notes for Reviewers
Dependency Flows
My (@jameslamb)'s interpretation of the state we want to get to with this PR.
--- title: Build dependencies --- flowchart TD A[libcudf] --> B[pylibcudf] A --> C[cudf] B --> C[cudf] B --> F[cudf-kafka] D[dask-cudf] E[cudf-polars] G[custreamz]--- title: Runtime dependencies --- flowchart TD A[libcudf] --> B[pylibcudf] B --> C[cudf] A --> C B --> E[cudf-polars] C --> D[dask-cudf] C --> F[cudf-kafka] C --> G[custreamz] F --> GSize changes
libcudf.pylibcudfcudfcudf-polarsdask-cudfNOTES: size = compressed, "before" = 2024-08-21 nightlies (58799d6)
how I calculated those (click me)
docker run \ --rm \ -v $(pwd):/opt/work:ro \ -w /opt/work \ --network host \ --env RAPIDS_NIGHTLY_DATE=2024-08-21 \ --env RAPIDS_NIGHTLY_SHA=58799d6 \ --env RAPIDS_PR_NUMBER=15483 \ --env RAPIDS_PY_CUDA_SUFFIX=cu12 \ --env RAPIDS_REPOSITORY=rapidsai/cudf \ --env WHEEL_DIR_BEFORE=/tmp/wheels-before \ --env WHEEL_DIR_AFTER=/tmp/wheels-after \ -it rapidsai/ci-wheel:cuda12.5.1-rockylinux8-py3.11 \ bash mkdir -p "${WHEEL_DIR_BEFORE}" mkdir -p "${WHEEL_DIR_AFTER}" cpp_projects=( libcudf ) py_projects=( cudf pylibcudf ) py_pure_projects=( cudf_polars dask_cudf ) # TODO: calculate the date for project in "${py_projects[@]}"; do # before RAPIDS_BUILD_TYPE=nightly \ RAPIDS_PY_WHEEL_NAME="${project}_${RAPIDS_PY_CUDA_SUFFIX}" \ RAPIDS_REF_NAME="branch-24.10" \ RAPIDS_SHA=${RAPIDS_NIGHTLY_SHA} \ rapids-download-wheels-from-s3 python "${WHEEL_DIR_BEFORE}" # after RAPIDS_BUILD_TYPE=pull-request \ RAPIDS_PY_WHEEL_NAME="${project}_${RAPIDS_PY_CUDA_SUFFIX}" \ RAPIDS_REF_NAME="pull-request/${RAPIDS_PR_NUMBER}" \ rapids-download-wheels-from-s3 python "${WHEEL_DIR_AFTER}" done for project in "${py_pure_projects[@]}"; do # before RAPIDS_BUILD_TYPE=nightly \ RAPIDS_PY_WHEEL_PURE="1" \ RAPIDS_PY_WHEEL_NAME="${project}_${RAPIDS_PY_CUDA_SUFFIX}" \ RAPIDS_REF_NAME="branch-24.10" \ RAPIDS_SHA=${RAPIDS_NIGHTLY_SHA} \ rapids-download-wheels-from-s3 python "${WHEEL_DIR_BEFORE}" # after RAPIDS_BUILD_TYPE=pull-request \ RAPIDS_PY_WHEEL_PURE="1" \ RAPIDS_PY_WHEEL_NAME="${project}_${RAPIDS_PY_CUDA_SUFFIX}" \ RAPIDS_REF_NAME="pull-request/${RAPIDS_PR_NUMBER}" \ rapids-download-wheels-from-s3 python "${WHEEL_DIR_AFTER}" done for project in "${cpp_projects[@]}"; do # before RAPIDS_BUILD_TYPE=nightly \ RAPIDS_PY_WHEEL_PURE="1" \ RAPIDS_PY_WHEEL_NAME="${project}_${RAPIDS_PY_CUDA_SUFFIX}" \ RAPIDS_REF_NAME="branch-24.10" \ RAPIDS_SHA=${RAPIDS_NIGHTLY_SHA} \ rapids-download-wheels-from-s3 cpp "${WHEEL_DIR_BEFORE}" # after RAPIDS_BUILD_TYPE=pull-request \ RAPIDS_PY_WHEEL_NAME="${project}_${RAPIDS_PY_CUDA_SUFFIX}" \ RAPIDS_REF_NAME="pull-request/${RAPIDS_PR_NUMBER}" \ rapids-download-wheels-from-s3 cpp "${WHEEL_DIR_AFTER}" done du -sh ${WHEEL_DIR_BEFORE}/* du -sh ${WHEEL_DIR_BEFORE} du -sh ${WHEEL_DIR_AFTER}/* du -sh ${WHEEL_DIR_AFTER}Related work
Corresponding
devcontainersPR: rapidsai/devcontainers#271We should merge that when this is just about ready, then re-run the failing
devcontainersCI jobs here.