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

Remove libcugraphops dependency and add CUDA 12 CI support #41

Merged
merged 8 commits into from
Jul 25, 2023
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
5 changes: 2 additions & 3 deletions ci/build_docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,13 @@ rapids-logger "Downloading artifacts from previous jobs"

CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp)
PYTHON_CHANNEL=$(rapids-download-conda-from-s3 python)
VERSION_NUMBER="23.08"
export RAPIDS_VERSION_NUMBER=${VERSION_NUMBER}
export RAPIDS_VERSION_NUMBER="23.08"
export RAPIDS_DOCS_DIR="$(mktemp -d)"

rapids-mamba-retry install \
--channel "${CPP_CHANNEL}" \
--channel "${PYTHON_CHANNEL}" \
libwholegraph pylibwholegraph numpy
libwholegraph pylibwholegraph

rapids-logger "Build Doxygen docs"
pushd cpp
Expand Down
2 changes: 1 addition & 1 deletion ci/check_style.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ rapids-mamba-retry env create --force -f env.yaml -n checks
conda activate checks

# Run pre-commit checks
pre-commit run --hook-stage manual --all-files --show-diff-on-failure
pre-commit run --all-files --show-diff-on-failure
17 changes: 8 additions & 9 deletions ci/release/update-version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,18 @@ function sed_runner() {
sed_runner 's/'"branch-.*\/RAPIDS.cmake"'/'"branch-${NEXT_SHORT_TAG}\/RAPIDS.cmake"'/g' fetch_rapids.cmake

# cpp CMakeLists update
sed_runner 's/'"VERSION ${CURRENT_SHORT_TAG}.*"'/'"VERSION ${NEXT_FULL_TAG}"'/g' cpp/CMakeLists.txt
sed_runner 's/'"RAPIDS_VERSION \".*\")"'/'"RAPIDS_VERSION \"${NEXT_SHORT_TAG}\")"'/g' cpp/CMakeLists.txt

# Python CMakeLists updates
sed_runner 's/'"cudf_version .*)"'/'"cudf_version ${NEXT_FULL_TAG})"'/g' python/pylibwholegraph/CMakeLists.txt

sed_runner 's/'"RAPIDS_VERSION .*)"'/'"RAPIDS_VERSION ${NEXT_FULL_TAG})"'/g' python/pylibwholegraph/CMakeLists.txt

# Python setup.py updates
sed_runner 's/'version=".*"'/'version="${NEXT_FULL_TAG}"'/g' python/pylibwholegraph/setup.py


# RTD update
sed_runner 's/version = .*/version = '"'${NEXT_SHORT_TAG}'"'/g' docs/cugraph/source/conf.py
sed_runner 's/release = .*/release = '"'${NEXT_FULL_TAG}'"'/g' docs/cugraph/source/conf.py
sed_runner 's/version = .*/version = '"'${NEXT_SHORT_TAG}'"'/g' docs/wholegraph/source/conf.py
sed_runner 's/release = .*/release = '"'${NEXT_FULL_TAG}'"'/g' docs/wholegraph/source/conf.py

# Python __init__.py updates
sed_runner "s/__version__ = .*/__version__ = \"${NEXT_FULL_TAG}\"/g" python/pylibwholegraph/pylibwholegraph/__init__.py
Expand All @@ -65,8 +66,6 @@ sed_runner "s/^version = .*/version = \"${NEXT_FULL_TAG}\"/g" python/pylibwholeg
NEXT_SHORT_TAG_PEP440=$(python -c "from setuptools.extern import packaging; print(packaging.version.Version('${NEXT_SHORT_TAG}'))")

DEPENDENCIES=(

libcugraphops
libraft
libraft-headers
librmm
Expand All @@ -80,13 +79,13 @@ for DEP in "${DEPENDENCIES[@]}"; do
for FILE in dependencies.yaml conda/environments/*.yaml; do
sed_runner "/-.* ${DEP}==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}.*/g" ${FILE}
done
for FILE in python/**/pyproject.toml python/**/**/pyproject.toml; do
for FILE in python/**/pyproject.toml; do
sed_runner "/\"${DEP}==/ s/==.*\"/==${NEXT_SHORT_TAG_PEP440}.*\"/g" ${FILE}
done
done

# Doxyfile update
sed_runner "s|PROJECT_NUMBER[[:space:]]*=.*|PROJECT_NUMBER=${NEXT_SHORT_TAG}|" cpp/doxygen/Doxyfile
sed_runner "s|PROJECT_NUMBER[[:space:]]*=.*|PROJECT_NUMBER=${NEXT_SHORT_TAG}|" cpp/Doxyfile


# CI files
Expand Down
7 changes: 6 additions & 1 deletion ci/test_python.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,18 @@ set -euo pipefail
. /opt/conda/etc/profile.d/conda.sh

ARCH=$(arch)
EXITCODE=0

if [ "${ARCH}" = "aarch64" ]; then
rapids-logger "Exiting aarch64 due to no pytorch-cuda"
exit ${EXITCODE}
fi

if [ "${RAPIDS_CUDA_VERSION:0:2}" == "12" ]; then
rapids-logger "Exiting CUDA 12 due to no pytorch stable yet"
exit ${EXITCODE}
fi

rapids-logger "Generate Python testing dependencies"
rapids-dependency-file-generator \
--output conda \
Expand Down Expand Up @@ -44,7 +50,6 @@ rapids-mamba-retry install \

rapids-logger "Check GPU usage"
nvidia-smi
EXITCODE=0
trap "EXITCODE=1" ERR
set +e

Expand Down
10 changes: 2 additions & 8 deletions conda/environments/all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,10 @@ dependencies:
- gcc_linux-64=11.*
- gitpython
- graphviz
- gtest>=1.13.0
- gmock>=1.13.0
- ipykernel
- ipython
- libcugraphops=23.8.*
- libraft-headers=23.8.*
- libraft=23.8.*
- librmm=23.8.*
- libraft-headers==23.08.*
- librmm==23.08.*
- nanobind>=0.2.0
- nbsphinx
- nccl
Expand All @@ -51,6 +47,4 @@ dependencies:
- sphinx<6
- sphinxcontrib-websupport
- sysroot_linux-64=2.17
- unzip
- wget
name: all_cuda-118_arch-x86_64
49 changes: 49 additions & 0 deletions conda/environments/all_cuda-120_arch-x86_64.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# This file is generated by `rapids-dependency-file-generator`.
# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.
channels:
- rapidsai
- rapidsai-nightly
- pytorch
- conda-forge
- nvidia
dependencies:
- breathe
- c-compiler
- clang-tools=16.0.0
- clangxx=16.0.0
- cmake>=3.23.1,!=3.25.0
- cuda-nvcc
- cuda-nvtx
- cuda-version=12.0
- cudatoolkit
- cudnn=8.4
- cxx-compiler
- cython
- doxygen=1.8.20
- gcc_linux-64=11.*
- gitpython
- graphviz
- ipykernel
- ipython
- libraft-headers==23.08.*
- librmm==23.08.*
- nanobind>=0.2.0
- nbsphinx
- nccl
- ninja
- numpy>=1.17
- numpydoc
- pre-commit
- pydata-sphinx-theme
- pytest
- pytest-forked
- pytest-xdist
- python>=3.9,<3.11
- recommonmark
- scikit-build
- sphinx-copybutton
- sphinx-markdown-tables
- sphinx<6
- sphinxcontrib-websupport
- sysroot_linux-64=2.17
name: all_cuda-120_arch-x86_64
5 changes: 4 additions & 1 deletion conda/recipes/libwholegraph/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,13 @@ cxx_compiler_version:
- 11

cuda_compiler:
- cuda-nvcc

cuda11_compiler:
- nvcc

cmake_version:
- ">=3.23.1,!=3.25.0"
- ">=3.26.4"

doxygen_version:
- ">=1.8.11"
Expand Down
49 changes: 42 additions & 7 deletions conda/recipes/libwholegraph/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,28 @@ build:
requirements:
build:
- {{ compiler('c') }}
- {{ compiler('cuda') }} {{ cuda_version }}
- {{ compiler('cxx') }}
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
- cuda-version ={{ cuda_version }}
{% if cuda_major == "11" %}
- cudatoolkit
{% else %}
- cuda-cudart-dev
- cuda-driver-dev
dongxuy04 marked this conversation as resolved.
Show resolved Hide resolved
{% endif %}
- cmake {{ cmake_version }}
- ninja
- sysroot_{{ target_platform }} {{ sysroot_version }}
host:
- cmake {{ cmake_version }}
- cuda-nvtx ={{ cuda_version }}
- cudatoolkit ={{ cuda_version }}
- cuda-version ={{ cuda_version }}
- doxygen {{ doxygen_version }}
- gmock {{ gtest_version }}
- gtest {{ gtest_version }}
- libcugraphops ={{ minor_version }}
- libraft ={{ minor_version }}
- libraft-headers ={{ minor_version }}
- librmm ={{ minor_version }}
Expand All @@ -72,9 +81,19 @@ outputs:
requirements:
build:
- cmake {{ cmake_version }}
host:
- cuda-version ={{ cuda_version }}
{% if cuda_major == "11" %}
- cudatoolkit
{% else %}
- cuda-cudart-dev
- cuda-driver-dev
{% endif %}
run:
- cudatoolkit {{ cuda_spec }}
- libcugraphops ={{ minor_version }}
- cuda-version ={{ cuda_version }}
{% if cuda_major == "11" %}
- cudatoolkit
{% endif %}
- libraft ={{ minor_version }}
- libraft-headers ={{ minor_version }}
- librmm ={{ minor_version }}
Expand All @@ -91,13 +110,29 @@ outputs:
number: {{ GIT_DESCRIBE_NUMBER }}
string: cuda{{ cuda_major }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }}
ignore_run_exports_from:
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
- cuda-version ={{ cuda_version }}
requirements:
build:
- cmake {{ cmake_version }}
host:
- cuda-version ={{ cuda_version }}
{% if cuda_major == "11" %}
- cudatoolkit
{% else %}
- cuda-cudart-dev
- cuda-driver-dev
{% endif %}
run:
- {{ pin_subpackage('libwholegraph', exact=True) }}
- cudatoolkit {{ cuda_spec }}
- cuda-version ={{ cuda_version }}
{% if cuda_major == "11" %}
- cudatoolkit
{% endif %}
- gmock {{ gtest_version }}
- gtest {{ gtest_version }}
about:
Expand Down
5 changes: 4 additions & 1 deletion conda/recipes/pylibwholegraph/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,13 @@ cxx_compiler_version:
- 11

cuda_compiler:
- cuda-nvcc

cuda11_compiler:
- nvcc

cmake_version:
- ">=3.23.1,!=3.25.0"
- ">=3.26.4"

scikit_build_version:
- ">=0.13.1"
Expand Down
22 changes: 18 additions & 4 deletions conda/recipes/pylibwholegraph/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,23 @@ build:
- SCCACHE_S3_USE_SSL
- SCCACHE_S3_NO_CREDENTIALS
ignore_run_exports_from:
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
- cuda-version ={{ cuda_version }}

requirements:
build:
- {{ compiler('c') }}
- {{ compiler('cuda') }} {{ cuda_version }}
- {{ compiler('cxx') }}
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
- cuda-version ={{ cuda_version }}
- cmake {{ cmake_version }}
- ninja
- nccl
Expand All @@ -51,18 +61,22 @@ requirements:
- doxygen =1.8.20
- sysroot_{{ target_platform }} {{ sysroot_version }}
host:
- cudatoolkit ={{ cuda_version }}
- cuda-version ={{ cuda_version }}
- libwholegraph ={{ version }}
- nanobind >=0.2.0
- python
- scikit-build {{ scikit_build_version }}
run:
- {{ compiler('c') }}
- {{ compiler('cuda') }} {{ cuda_version }}
- {{ compiler('cxx') }}
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
- cuda-version ={{ cuda_version }}
- cmake {{ cmake_version }}
- ninja
- {{ pin_compatible('cudatoolkit', max_pin='x', min_pin='x') }}
- libwholegraph ={{ version }}
- python

Expand Down
16 changes: 9 additions & 7 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -280,10 +280,12 @@ rapids_export(
##############################################################################
# - doxygen docs -------------------------------------------------------------

include(./cmake/doxygen.cmake)
add_doxygen_target(
IN_DOXYFILE Doxyfile.in
OUT_DOXYFILE ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/html
CWD ${CMAKE_CURRENT_BINARY_DIR}
DEP_TARGETS ${DOXYGEN_DEP_TARGETS})
find_package(Doxygen 1.8.11)
if(Doxygen_FOUND)
add_custom_command(OUTPUT WHOLEGRAPH_DOXYGEN
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND doxygen Doxyfile
VERBATIM)

add_custom_target(doxygen DEPENDS WHOLEGRAPH_DOXYGEN)
endif()
Loading