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

Update cugraph-pyg Recipe and CI Script #3288

Merged
merged 30 commits into from
Mar 27, 2023

Conversation

alexbarghi-nv
Copy link
Member

@alexbarghi-nv alexbarghi-nv commented Feb 16, 2023

Properly installs torch in test script; skips PyG tests on CUDA 11.8. Removes OGB from dependencies since it is no longer needed and created a version conflict. Properly adds PyG and PyTorch as dependencies of cugraph-pyg.

Closes #3083
Closes #3225

@alexbarghi-nv alexbarghi-nv self-assigned this Feb 16, 2023
@alexbarghi-nv alexbarghi-nv added improvement Improvement / enhancement to an existing function breaking Breaking change labels Feb 16, 2023
@alexbarghi-nv alexbarghi-nv added this to the 23.04 milestone Feb 16, 2023
Copy link
Member

@VibhuJawa VibhuJawa 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 for working on this Alex. This resolves a important P0 for this release.

@alexbarghi-nv alexbarghi-nv marked this pull request as ready for review February 16, 2023 23:09
@alexbarghi-nv alexbarghi-nv requested review from a team as code owners February 16, 2023 23:09
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.

We might need to brainstorm on how to get this properly working in CI.

Although the tests are currently passing, I'm seeing both the cudatoolkit and cuda-toolkit packages being installed in our CI test environments now, which is not something that we want.

Additionally, the cuda-toolkit package version that is being installed doesn't match the cudatoolkit version. See the links below for an example on the 11.2.2 test job:

I'm not very familiar with the cugraph packages that are being changed here.

If they have dependencies that conflict with the other RAPIDS libraries, we might want to consider creating an entirely new conda environment in this test job to accommodate testing these packages.

Happy to hop on a call to chat about this further if needed.

@ajschmidt8
Copy link
Member

I want to mention that we could also move the cugraph-pyg tests to a new job that doesn't run against a full matrix if that makes more sense.

Instead, it would only test against a single CUDA version (e.g. 11.8).

To make this work, you could adapt the conda-notebook-tests job below.

  • conda-notebook-tests:
    needs: conda-python-build
    secrets: inherit
    uses: rapidsai/shared-action-workflows/.github/workflows/[email protected]
    with:
    build_type: pull-request
    node_type: "gpu-latest-1"
    arch: "amd64"
    container_image: "rapidsai/ci:latest"
    run_script: "ci/test_notebooks.sh"

The only changes you would need to make are:

  • Adjusting the container to run in a container with an appropriate CUDA version (all of our CI image tags are here for reference)
  • Adjusting the script to something like ci/test_python_pyg.sh

@alexbarghi-nv
Copy link
Member Author

@rlratzel and @ajschmidt8 could you please re-review this PR?

Copy link
Member

@VibhuJawa VibhuJawa left a comment

Choose a reason for hiding this comment

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

LGTM

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.

Look good!

Looks like the wrong cugraph-pyg version is getting installed though. We'll want to get that sorted out.

Comment on lines 131 to 140
rapids-print-env

rapids-mamba-retry install \
--channel "${CPP_CHANNEL}" \
--channel "${PYTHON_CHANNEL}" \
libcugraph \
pylibcugraph \
cugraph \
cugraph-pyg

Copy link
Member

Choose a reason for hiding this comment

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

Two quick notes:

  • rapids-print-env does a conda list (src). so it might be worth placing that command after all the mamba install commands.
  • I notice that CI is installing the wrong cugraph-pyg version (see here). This is probably from a dependency issue somewhere. It might take a bit of iterating to figure out why this is happening. I wrote some docs about reproducing CI locally here that might help. Happy to hop on a call to help or discuss this more if needed.

Copy link
Contributor

@rlratzel rlratzel 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, just possibly one change request.

- pytorch >=2.0
- cupy >=9.5.0,<12.0.0a0
- cugraph ={{ version }}
- pyg-nightly
Copy link
Contributor

Choose a reason for hiding this comment

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

just want to confirm that we're putting a nightly dependency in our release packages, or are we planning on changing this before code freeze? If not, can we put an upper-bound pin on this so users installing this package some time later don't pull in a possibly incompatible newer nightly version?

Copy link
Member Author

Choose a reason for hiding this comment

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

I just changed this now to resolve the issue of pulling the wrong version of cugraph-pyg. We will need to bind to pyg 2.3 once it is released, which is supposed to be next week.

@alexbarghi-nv alexbarghi-nv added the DO NOT MERGE Hold off on merging; see PR for details label Mar 23, 2023
@alexbarghi-nv alexbarghi-nv removed the DO NOT MERGE Hold off on merging; see PR for details label Mar 27, 2023
@rlratzel
Copy link
Contributor

/merge

@rapids-bot rapids-bot bot merged commit 6f1bf0e into rapidsai:branch-23.04 Mar 27, 2023
rapids-bot bot pushed a commit that referenced this pull request Apr 2, 2023
Updates tests to support presence of PyTorch and PyG in the environment.

Updates cugraph-pyg to include support for loading from samples on disk. Makes CuGraphStore serializable and allows creating CuGraphStore and BulkSampleLoader instances without the graph structure.

Merge after #3288 

Closes #3287 
Closes #3176

Authors:
  - Alex Barghi (https://github.com/alexbarghi-nv)

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

URL: #3289
rapids-bot bot pushed a commit that referenced this pull request Apr 4, 2023
- Adds new examples for cugraph-pyg.
- Removes outdated examples.
- Moves MG scripts to top-level directory.
- Makes the input to `_get_vertex_groups_from_sample` a tensor instead of Series
- Adds `is_sorted` arg to `_get_vertex_groups_from_sample` to skip sorting if tensor already sorted
- Some fixes to `CuGraphStore` for running multi-GPU workflows

Merge after #3288  - merged
Merge after #3289  - merged
Merge after #3382  - merged

Closes #3316 
Closes #3226 
Closes #3072

Authors:
  - Alex Barghi (https://github.com/alexbarghi-nv)

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

URL: #3326
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Breaking change improvement Improvement / enhancement to an existing function
Projects
None yet
4 participants