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

[BUG] Test failures in the third-party integration tests #17490

Open
10 of 11 tasks
Matt711 opened this issue Dec 3, 2024 · 3 comments
Open
10 of 11 tasks

[BUG] Test failures in the third-party integration tests #17490

Matt711 opened this issue Dec 3, 2024 · 3 comments
Assignees
Labels
bug Something isn't working cudf.pandas Issues specific to cudf.pandas

Comments

@Matt711
Copy link
Contributor

Matt711 commented Dec 3, 2024

Describe the bug
Several tests are failing in the cudf.pandas third-party integration tests. Some of the failures are new and some may have always been there. I didn't catch this before because the tests would only pass or fail based on the last test suite (eg. test_numpy.py) that was executed. After we merge #17497, we should open PRs to fix each test module that's currently failing.

Steps/Code to reproduce bug
Look at CI jobs

Expected behavior
All checks should pass or xfail if necessary

  • test_cugraph.py
  • test_holoviews.py
  • test_matplotlib.py
  • test_numpy.py
  • test_pytorch.py
  • test_seaborn.py
  • test_stumpy_distributed.py
  • test_tensorflow.py
  • test_xgboost.py
  • test_catboost.py
  • test_ibis.py
@Matt711 Matt711 added bug Something isn't working cudf.pandas Issues specific to cudf.pandas labels Dec 3, 2024
@Matt711 Matt711 self-assigned this Dec 3, 2024
raydouglass pushed a commit that referenced this issue Dec 4, 2024
Removes the third-party integration tests for the 24.12 nightly CI. We
need to do this to unblock CI. These tests have not been running
properly, and we just noticed that. There are more than a few failures
so we will have to resolve this in the next release. Future work is
tracked in #17490.
rapids-bot bot pushed a commit that referenced this issue Dec 20, 2024
rapids-bot bot pushed a commit that referenced this issue Feb 6, 2025
Apart of #17490. Creating a torch tensor from a cudf.pandas proxy `Series` or `DataFrame` creates a device tensor if the underlying object is cudf. So this PR updates the `assert_eq` function in the module to convert the device tensor to a host tensor before comparing equality.

Authors:
  - Matthew Murray (https://github.com/Matt711)

Approvers:
  - Vyas Ramasubramani (https://github.com/vyasr)

URL: #17923
@GPUtester GPUtester moved this from Todo to In Progress in cuDF Python Feb 6, 2025
@Matt711
Copy link
Contributor Author

Matt711 commented Feb 12, 2025

TODO: Revert #17987 once tests are passing

rapids-bot bot pushed a commit that referenced this issue Feb 13, 2025
Apart of #17490. This PR adds back the catboost integration tests, which were originally added in #17267 but were later removed due to ABI incompatability between the version of numpy catboost is compiled against and the version of numpy installed in the test environment. This PR adds the tests back but pins a compatible numpy version in the catboost tests.

Authors:
  - Matthew Murray (https://github.com/Matt711)

Approvers:
  - James Lamb (https://github.com/jameslamb)
  - Matthew Roeschke (https://github.com/mroeschke)

URL: #17931
rapids-bot bot pushed a commit that referenced this issue Feb 13, 2025
Apart of #17490.

We employ custom pickling logic for our cudf.pandas wrapped types. The logic lets us serialize and de-serialize wrapped types by serializing and de-serializing the underlying wrapped types (ie. the type of `_fsproxy_wrapped`). This pickling logic is defined in `_FinalProxy`, which is the base class of all of our "final" proxy types. 

The failures in the integration tests occurred because this pickling logic wasn't used for the proxy numpy array type. This is because the "final" proxy array type inherits from an additional base class: `ProxyNDarrayBase` (which contains logic to inherit from `np.ndarray` ). And it comes before `_FinalProxy` in the classes MRO, so the custom pickling is not used.

Additionally, the custom pickling logic used for other proxy types is incompatible with our proxy array. So this PR defines a custom function for handling proxy array serialization.

Authors:
  - Matthew Murray (https://github.com/Matt711)

Approvers:
  - Matthew Roeschke (https://github.com/mroeschke)
  - GALI PREM SAGAR (https://github.com/galipremsagar)

URL: #17929
@Matt711
Copy link
Contributor Author

Matt711 commented Feb 15, 2025

xref #17969

@Matt711
Copy link
Contributor Author

Matt711 commented Feb 15, 2025

xref #17945 #17972

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working cudf.pandas Issues specific to cudf.pandas
Projects
Status: In Progress
Development

No branches or pull requests

2 participants