Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ci/build_wheel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ package_type=$3
#
EXCLUDE_ARGS=(
--exclude libcuda.so.1
--exclude "libnccl.so.*"
--exclude libnvidia-ml.so.1
--exclude librapids_logger.so
--exclude librmm.so
Expand Down
2 changes: 1 addition & 1 deletion ci/build_wheel_pylibwholegraph.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen "${RAPIDS_CUDA_VERSION}")"
LIBWHOLEGRAPH_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="libwholegraph_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-github cpp)
echo "libwholegraph-${RAPIDS_PY_CUDA_SUFFIX} @ file://$(echo "${LIBWHOLEGRAPH_WHEELHOUSE}"/libwholegraph_*.whl)" >> "${PIP_CONSTRAINT}"

export SKBUILD_CMAKE_ARGS="-DBUILD_SHARED_LIBS=ON;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-DCUDA_STATIC_RUNTIME=ON;-DWHOLEGRAPH_BUILD_WHEELS=ON"
export SKBUILD_CMAKE_ARGS="-DBUILD_SHARED_LIBS=ON;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-DCUDA_STATIC_RUNTIME=ON"
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Not strictly related, but noticed while I was looking at logs to confirm the NCCL stuff was working correctly.

  CMake Warning:
    Manually-specified variables were not used by the project:

      CUDA_STATIC_RUNTIME
      WHOLEGRAPH_BUILD_WHEELS

(build link)

Think we still want CUDA_STATIC_RUNTIME because it could get passed through here:

add_subdirectory(pylibwholegraph/binding)

But WHOLEGRAPH_BUILD_WHEELS doesn't do anything anywhere in this project.

git grep '_BUILD_WHEEL'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM, thanks!


./ci/build_wheel.sh pylibwholegraph ${package_dir} python
./ci/validate_wheel.sh ${package_dir} "${RAPIDS_WHEEL_BLD_OUTPUT_DIR}"
6 changes: 6 additions & 0 deletions ci/test_wheel_pylibwholegraph.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ set -e # abort the script on error
set -o pipefail # piped commands propagate their error
set -E # ERR traps are inherited by subcommands

# Delete system libnccl.so to ensure the wheel is used.
# (but only do this in CI, to avoid breaking local dev environments)
if [[ "${CI:-}" == "true" ]]; then
rm -rf /usr/lib64/libnccl*
fi

source rapids-init-pip

RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})"
Expand Down
1 change: 1 addition & 0 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ option(WHOLEGRAPH_EXCLUDE_NVSHMEM_FROM_ALL "Exclude nvshmem targets from wholeGr
ON
)
option(BUILD_BENCHMARKS "Configure CMake to build benchmark" ON)
option(USE_NCCL_RUNTIME_WHEEL "Use the NCCL wheel at runtime instead of the system library" OFF)

# ##################################################################################################
# * Set options based on user defined one -----------------------------------
Expand Down
21 changes: 19 additions & 2 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ files:
- depends_on_dask_cudf
- depends_on_cupy
- depends_on_cuml
- depends_on_nccl
- depends_on_pytorch
- depends_on_pyg
- python_run_cugraph_pyg
Expand Down Expand Up @@ -49,6 +50,7 @@ files:
- test_cpp
- depends_on_libwholegraph
- depends_on_libwholegraph_tests
- depends_on_nccl
test_notebooks:
output: none
includes:
Expand Down Expand Up @@ -105,8 +107,9 @@ files:
extras:
table: project
includes:
- depends_on_rapids_logger
- depends_on_libraft
- depends_on_nccl
- depends_on_rapids_logger
py_build_pylibwholegraph:
output: pyproject
pyproject_dir: python/pylibwholegraph
Expand Down Expand Up @@ -342,7 +345,6 @@ dependencies:
- output_types: conda
packages:
- *cmake_ver
- nccl>=2.19
test_notebook:
common:
- output_types: [conda, requirements]
Expand Down Expand Up @@ -393,6 +395,21 @@ dependencies:
packages:
- pytorch>=2.3
- {matrix: null, packages: ["pytorch>=2.3"]}
depends_on_nccl:
common:
- output_types: conda
packages:
- nccl>=2.19
specific:
- output_types: [pyproject, requirements]
matrices:
- matrix:
cuda: "12.*"
cuda_suffixed: "true"
packages:
- nvidia-nccl-cu12>=2.19
- matrix:
packages:
depends_on_ogb:
common:
- output_types: [conda, requirements, pyproject]
Expand Down
2 changes: 1 addition & 1 deletion python/cugraph-pyg/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -80,4 +80,4 @@ select = [
]

# PyPI limit is 100 MiB, fail CI before we get too close to that
max_allowed_size_compressed = '75M'
max_allowed_size_compressed = '10Mi'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

ooooh yeaahhh

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

🥳

11 changes: 11 additions & 0 deletions python/libwholegraph/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,16 @@ project(

SET(BUILD_TESTS OFF)
SET(BUILD_BENCHMARKS OFF)
SET(USE_NCCL_RUNTIME_WHEEL ON)

add_subdirectory(../../cpp/ libwholegraph)

if(USE_NCCL_RUNTIME_WHEEL)
list(APPEND rpaths "$ORIGIN/../../nvidia/nccl/lib")
endif()

set_property(
TARGET wholegraph
PROPERTY INSTALL_RPATH ${rpaths}
APPEND
)
4 changes: 2 additions & 2 deletions python/libwholegraph/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ select = [
"distro-too-large-compressed",
]

# detect when package size grows significantly
max_allowed_size_compressed = '0.4G'
# PyPI limit is 100 MiB, fail CI before we get too close to that
max_allowed_size_compressed = '80Mi'
Comment on lines +62 to +63
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Even better!

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

🤘🏻


[tool.scikit-build]
build-dir = "build/{wheel_tag}"
Expand Down
4 changes: 2 additions & 2 deletions python/pylibwholegraph/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -87,5 +87,5 @@ select = [
"distro-too-large-compressed",
]

# detect when package size grows significantly
max_allowed_size_compressed = '400M'
# PyPI limit is 100 MiB, fail CI before we get too close to that
max_allowed_size_compressed = '10Mi'
Loading