-
Notifications
You must be signed in to change notification settings - Fork 310
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 to changed rmm::device_scalar
API
#1637
Update to changed rmm::device_scalar
API
#1637
Conversation
rerun tests |
CI won't pass until rapidsai/rmm/#789 is merged. |
rerun tests |
This PR refactors `device_scalar` to use a single-element `device_uvector` for its storage. This simplifies the implementation of device_scalar. Also changes the API of `device_scalar` so that its asynchronous / stream-ordered methods use the same API style (with explicit stream parameter) as `device_uvector` and `device_buffer`. Closes #570 This is a breaking change. When it is merged, PRs are likely to need to be merged immediately in other libraries to account for the API changes. - [x] cuDF: rapidsai/cudf#8411 - [x] cuGraph: rapidsai/cugraph#1637 - [x] RAFT: rapidsai/raft#259 - [x] ~cuML~ (unused) - [x] ~cuSpatial~ (unused) Authors: - Mark Harris (https://github.com/harrism) Approvers: - Rong Ou (https://github.com/rongou) - Jake Hemstad (https://github.com/jrhemstad) URL: #789
rerun tests |
rerun tests |
This PR depends on rapidsai/raft#259 also. Once that is merged, hopefully this one will pass CI. |
rerun tests |
1 similar comment
rerun tests |
I suggest issueing the |
@gpucibot merge |
Codecov Report
@@ Coverage Diff @@
## branch-21.08 #1637 +/- ##
===============================================
Coverage ? 59.96%
===============================================
Files ? 80
Lines ? 3542
Branches ? 0
===============================================
Hits ? 2124
Misses ? 1418
Partials ? 0 Continue to review full report at Codecov.
|
I spoke too soon. This doesn't look related to this PR though:
|
I think the failures here could be related to this PR: rapidsai/cudf#8458 |
Co-authored-by: Paul Taylor <[email protected]>
rerun tests |
I think we might need to update the cugraph conda dependencies as well. The linked cudf update corrects the cudf dependencies, but our environment specifically downloads older versions. |
I found an issue with the |
rerun tests 🤞 |
I don't know if the updated
It should have been build |
rerun tests |
Even on the latest run (hasn't completed yet), the incorrect version of
Just as in my previous comment, it should get build @ajschmidt8 any ideas what could still be going on here? |
Wonder if we need to rebuild Docker images as well |
It looks like the correct version of I think the best way to fix this would be to follow in |
This may fix the issue now, but this doesn't explain why an older |
Would also add |
You are correct. We have an internal issue opened to investigate a larger issue at hand here which is likely contributing to this problem. The issue is that the wrong |
I saw that. I think the order of operations is what we'd need to change. We'd want to move the |
EDIT: Nevermind, I think only after libcugraph should suffice. I thought there was some tests running before libcugraph was installed. |
The build is already past the failure point, hopefully this will be green soon! |
@gpucibot merge |
Just like in rapidsai/cuml#3978 (comment), failures seem legit to the changes that were introduced in Distributed 2021.6.0, for example: TypeError: No dispatch for <class 'cudf.core.index.RangeIndex'> x = <class 'int'>, index = RangeIndex(start=0, stop=0, step=1)
parent_meta = Series([], Name: source, dtype: int32)
def make_meta(x, index=None, parent_meta=None):
"""
This method creates meta-data based on the type of ``x``,
and ``parent_meta`` if supplied.
Parameters
----------
x : Object of any type.
Object to construct meta-data from.
index : Index, optional
Any index to use in the metadata. This is a pass-through
parameter to dispatches registered.
parent_meta : Object, default None
If ``x`` is of arbitrary types and thus Dask cannot determine
which back-end to be used to generate the meta-data for this
object type, in which case ``parent_meta`` will be used to
determine which back-end to select and dispatch to. To use
utilize this parameter ``make_meta_obj`` has be dispatched.
If ``parent_meta`` is ``None``, a pandas DataFrame is used for
``parent_meta`` thats chooses pandas as the backend.
Returns
-------
A valid meta-data
"""
if isinstance(
x,
(
dd._Frame,
dd.core.Scalar,
dd.groupby._GroupBy,
dd.accessor.Accessor,
da.Array,
),
):
return x._meta
try:
> return make_meta_dispatch(x, index=index) I'm guessing cuGraph will require an update to adapt to the changes above, similar to what has been done in rapidsai/cudf#8426 . Also ccing @galipremsagar in case he has thoughts or could work on addressing those. |
rerun tests |
3 similar comments
rerun tests |
rerun tests |
rerun tests |
rerun tests The previous error log link & screenshot are below. More than likely, we'll need to update the Docker version on the GCP node here, but I'm retrying the tests one more time to see if it happened to be a transient error. |
As it turns out |
Thanks AJ! 😀 |
After rapidsai/rmm/#789 is a breaking API change for
rmm::device_scalar
. This PR fixes a couple of uses ofrmm::device_scalar
to fix the build of cuGraph, and should be merged immediately after rapidsai/rmm/#789.Also fixes an unrelated narrowing conversion warning.