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

Refactoring into 23.08 #24

Merged
merged 48 commits into from
Jul 28, 2023
Merged

Refactoring into 23.08 #24

merged 48 commits into from
Jul 28, 2023

Conversation

BradReesWork
Copy link
Member

@BradReesWork BradReesWork commented Jun 9, 2023

This branch is a collection of all the refactoring improvements.

closes #13
closes #14
closes #17
closes #18
closes https://github.com/rapidsai/cugraph-ops/issues/492

dongxuy04 and others added 22 commits April 14, 2023 09:33
…using package; 2. add short README.md; 3. fix build.sh to find setup.py
First PR for WholeGraph 23.06 refactor and add RAPIDS CI scripts
Co-authored-by: dongxuy04 <78518666+dongxuy04@users.noreply.github.com>
@BradReesWork BradReesWork added breaking Introduces a breaking change improvement Improves an existing functionality labels Jun 9, 2023
@BradReesWork BradReesWork added this to the 23.08 milestone Jun 9, 2023
@BradReesWork BradReesWork reopened this Jun 20, 2023
.github/ops-bot.yml Outdated Show resolved Hide resolved
BradReesWork and others added 3 commits June 23, 2023 01:06
Authors:
  - Brad Rees (https://github.com/BradReesWork)

Approvers:
  - Rick Ratzel (https://github.com/rlratzel)

URL: #32
…memory (#34)

Try to fix CI.
- Use System V API for host shared memory, so that we don't rely on /dev/shm size. Depending on /dev/shm size need `--shm-size` flag at container startup, for RAPIDS CI this may need support in shared-action-workflows.
- Enabled all cpp tests.
- Fixed append_unique_tests and wholememory_comm_tests in cpp tests.
- Enabled all Python tests except for aarch64. Seems there is no public pytorch package avaiable supporting CUDA for aarch64.

Authors:
  - https://github.com/dongxuy04

Approvers:
  - Brad Rees (https://github.com/BradReesWork)

URL: #34
Copy link
Member

@ajschmidt8 ajschmidt8 left a comment

Choose a reason for hiding this comment

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

left a few comments.

additionally, this repository will also need an update-version.sh script to ensure all of the RAPIDS version numbers stay up-to-date.

see the cugraph file below for reference:

ci/build_docs.sh Show resolved Hide resolved
.github/workflows/build.yaml Show resolved Hide resolved
.github/workflows/pr.yaml Show resolved Hide resolved
.github/workflows/test.yaml Show resolved Hide resolved
ci/test_cpp.sh Outdated Show resolved Hide resolved
ci/test_cpp.sh Show resolved Hide resolved
ci/test_python.sh Outdated Show resolved Hide resolved
ci/test_python.sh Show resolved Hide resolved
dependencies.yaml Outdated Show resolved Hide resolved
dependencies.yaml Outdated Show resolved Hide resolved
creating docs

Authors:
  - Brad Rees (https://github.com/BradReesWork)

Approvers:
  - https://github.com/dongxuy04
  - Don Acosta (https://github.com/acostadon)

URL: #35
@BradReesWork BradReesWork linked an issue Jul 10, 2023 that may be closed by this pull request
dongxuy04 and others added 2 commits July 12, 2023 14:01
Updated docs

- Added more comments in codes
- Merged #35 and enabled docs 
- Added some MarkDown docs

Authors:
  - https://github.com/dongxuy04

Approvers:
  - Brad Rees (https://github.com/BradReesWork)
  - Don Acosta (https://github.com/acostadon)

URL: #36
Copy link
Member

@ajschmidt8 ajschmidt8 left a comment

Choose a reason for hiding this comment

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

Looks good. In addition the the PR comments, I have one other question/request.

Are all of the Doxygen files needed? I see three right now:

  • cpp/Doxyfile.in
  • cpp/Doxyfile
  • cpp/doxygen/Doxyfile

If not, can you remove the extra ones?

Also, in other repositories, we've intentionally removed CMake as a dependency for building Doxygen docs (see here: rapidsai/cuml#5155).

Can you also do that for this repository? If cpp/Doxyfile.in isn't used, then you'll just need to delete that file to complete this request. That's the only Doxygen file that I see which still uses CMake, though I don't see that file being used anywhere.

ci/build_docs.sh Outdated Show resolved Hide resolved
ci/build_docs.sh Show resolved Hide resolved
ci/check_style.sh Outdated Show resolved Hide resolved
ci/test_cpp.sh Show resolved Hide resolved
ci/release/update-version.sh Outdated Show resolved Hide resolved
ci/release/update-version.sh Show resolved Hide resolved
dongxuy04 and others added 2 commits July 25, 2023 14:14
As `libcugraphops` is only needed to run GNN applications, not required by `libwholgraph` or `pylibwholegraph`, just remove it from dependency.
Updated YAML files to support CUDA 12 CI.
Fix exit code in `ci/test_python.sh` and also skip python test for CUDA 12 as no public stable pytorch package.

Authors:
  - https://github.com/dongxuy04

Approvers:
  - Tingyu Wang (https://github.com/tingyu66)
  - Brad Rees (https://github.com/BradReesWork)

URL: #41
@dongxuy04
Copy link
Contributor

Looks good. In addition the the PR comments, I have one other question/request.

Are all of the Doxygen files needed? I see three right now:

  • cpp/Doxyfile.in
  • cpp/Doxyfile
  • cpp/doxygen/Doxyfile

If not, can you remove the extra ones?

Also, in other repositories, we've intentionally removed CMake as a dependency for building Doxygen docs (see here: rapidsai/cuml#5155).

Can you also do that for this repository? If cpp/Doxyfile.in isn't used, then you'll just need to delete that file to complete this request. That's the only Doxygen file that I see which still uses CMake, though I don't see that file being used anywhere.

Thanks for helping figure this out, removed cpp/Doxyfile.in and cpp/doxygen/Doxyfile, only cpp/Doxyfile left now.

@ajschmidt8
Copy link
Member

I have one more round of suggestions. I had to play with some of this locally, so it's easier for me to just post the patch below and elaborate on the changes.

Details

diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh
index ae90826..eb0720b 100755
--- a/ci/release/update-version.sh
+++ b/ci/release/update-version.sh
@@ -46,10 +46,10 @@ sed_runner 's/'"branch-.*\/RAPIDS.cmake"'/'"branch-${NEXT_SHORT_TAG}\/RAPIDS.cma
 sed_runner 's/'"RAPIDS_VERSION \".*\")"'/'"RAPIDS_VERSION \"${NEXT_SHORT_TAG}\")"'/g' cpp/CMakeLists.txt
 
 # Python CMakeLists updates
-sed_runner 's/'"RAPIDS_VERSION .*)"'/'"RAPIDS_VERSION ${NEXT_FULL_TAG})"'/g' python/pylibwholegraph/CMakeLists.txt
+sed_runner '/set(RAPIDS_VERSION/ s/".*"/'\"${NEXT_SHORT_TAG}\"'/g' python/pylibwholegraph/CMakeLists.txt
 
 # Python setup.py updates
-sed_runner 's/'version=".*"'/'version="${NEXT_FULL_TAG}"'/g' python/pylibwholegraph/setup.py
+sed_runner 's/'version=\".*\"'/'version=\"${NEXT_FULL_TAG}\"'/g' python/pylibwholegraph/setup.py
 
 
 # RTD update
@@ -85,7 +85,7 @@ for DEP in "${DEPENDENCIES[@]}"; do
 done
 
 # Doxyfile update
-sed_runner "s|PROJECT_NUMBER[[:space:]]*=.*|PROJECT_NUMBER=${NEXT_SHORT_TAG}|" cpp/Doxyfile
+sed_runner "/^PROJECT_NUMBER/ s|=.*|= ${NEXT_SHORT_TAG}|" cpp/Doxyfile
 
 
 # CI files
diff --git a/conda/environments/all_cuda-115_arch-x86_64.yaml b/conda/environments/all_cuda-115_arch-x86_64.yaml
index bbadcc0..f163b45 100644
--- a/conda/environments/all_cuda-115_arch-x86_64.yaml
+++ b/conda/environments/all_cuda-115_arch-x86_64.yaml
@@ -23,8 +23,8 @@ dependencies:
 - graphviz
 - ipykernel
 - ipython
-- libraft-headers==23.08.*
-- librmm==23.08.*
+- libraft-headers==23.8.*
+- librmm==23.8.*
 - nanobind>=0.2.0
 - nbsphinx
 - nccl
diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml
index 70e3721..ec637bb 100644
--- a/conda/environments/all_cuda-118_arch-x86_64.yaml
+++ b/conda/environments/all_cuda-118_arch-x86_64.yaml
@@ -23,8 +23,8 @@ dependencies:
 - graphviz
 - ipykernel
 - ipython
-- libraft-headers==23.08.*
-- librmm==23.08.*
+- libraft-headers==23.8.*
+- librmm==23.8.*
 - nanobind>=0.2.0
 - nbsphinx
 - nccl
diff --git a/conda/environments/all_cuda-120_arch-x86_64.yaml b/conda/environments/all_cuda-120_arch-x86_64.yaml
index b354691..b532944 100644
--- a/conda/environments/all_cuda-120_arch-x86_64.yaml
+++ b/conda/environments/all_cuda-120_arch-x86_64.yaml
@@ -25,8 +25,8 @@ dependencies:
 - graphviz
 - ipykernel
 - ipython
-- libraft-headers==23.08.*
-- librmm==23.08.*
+- libraft-headers==23.8.*
+- librmm==23.8.*
 - nanobind>=0.2.0
 - nbsphinx
 - nccl
diff --git a/dependencies.yaml b/dependencies.yaml
index 280aae0..2eb6d63 100644
--- a/dependencies.yaml
+++ b/dependencies.yaml
@@ -164,8 +164,8 @@ dependencies:
     common:
       - output_types: [conda, requirements]
         packages:
-          - libraft-headers==23.08.*
-          - librmm==23.08.*
+          - libraft-headers==23.8.*
+          - librmm==23.8.*
   test_cpp:
     common:
       - output_types: [conda, requirements]

The changes are as follows:

  • update-version.sh:
    • some of the suggestions here just fix some quotes that weren't working correctly
    • other suggestions make use of sed addresses to fix and simplify the search and replace suggestions. sed addresses work by specifying a range of line(s) that the subsequent search and replace expression should be run on. so sed /^THE_LINE/ s/E/S/ would only run the s/E/S operation on lines that start with THE_LINE
  • version specifiers - I've updated the version specifiers in both dependencies.yaml and the environment files it generates to follow PEP 440 standards. though it's not formally recorded anywhere, this is the convention we've adopted for other repos (like cudf here) so that our version specifiers can be compatible with both conda and pip.

The result of the update-version.sh changes is that you can run the following sequence of commands and the net result will be no changes, which is the ideal behavior:

bash ci/release/update-version.sh 23.08.00
bash ci/release/update-version.sh 23.10.00
bash ci/release/update-version.sh 24.08.00
bash ci/release/update-version.sh 23.08.00 # back to `23.08.00`. no net changes

Clean up scripts for packaging and revise conda recipes.

Authors:
  - Tingyu Wang (https://github.com/tingyu66)

Approvers:
  - Brad Rees (https://github.com/BradReesWork)
  - AJ Schmidt (https://github.com/ajschmidt8)

URL: #42
Copy link
Member

@tingyu66 tingyu66 left a comment

Choose a reason for hiding this comment

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

Conda recipes and wheel building script LGTM.

@tingyu66 tingyu66 mentioned this pull request Jul 28, 2023
@tingyu66
Copy link
Member

I have one more round of suggestions. I had to play with some of this locally, so it's easier for me to just post the patch below and elaborate on the changes.

Details
The changes are as follows:

  • update-version.sh:

    • some of the suggestions here just fix some quotes that weren't working correctly
    • other suggestions make use of sed addresses to fix and simplify the search and replace suggestions. sed addresses work by specifying a range of line(s) that the subsequent search and replace expression should be run on. so sed /^THE_LINE/ s/E/S/ would only run the s/E/S operation on lines that start with THE_LINE
  • version specifiers - I've updated the version specifiers in both dependencies.yaml and the environment files it generates to follow PEP 440 standards. though it's not formally recorded anywhere, this is the convention we've adopted for other repos (like cudf here) so that our version specifiers can be compatible with both conda and pip.

The result of the update-version.sh changes is that you can run the following sequence of commands and the net result will be no changes, which is the ideal behavior:

bash ci/release/update-version.sh 23.08.00
bash ci/release/update-version.sh 23.10.00
bash ci/release/update-version.sh 24.08.00
bash ci/release/update-version.sh 23.08.00 # back to `23.08.00`. no net changes

Thanks for the suggestions. They should be addressed in #44. Please take a look over there since I cannot request your review due to priviledges.

Copy link
Contributor

@dongxuy04 dongxuy04 left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!

Copy link
Member

@ajschmidt8 ajschmidt8 left a comment

Choose a reason for hiding this comment

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

looks good. two small comments left.

.pre-commit-config.yaml Outdated Show resolved Hide resolved
ci/build_docs.sh Outdated Show resolved Hide resolved
@tingyu66 tingyu66 mentioned this pull request Jul 28, 2023
@ajschmidt8
Copy link
Member

/merge

@rapids-bot rapids-bot bot merged commit aba3fd7 into branch-23.08 Jul 28, 2023
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Introduces a breaking change improvement Improves an existing functionality
Projects
None yet
5 participants