Skip to content

Update arithmetic_device_uvector_t (device_span_t) to support int8_t and int16_t types. - #5628

Open
seunghwak wants to merge 4 commits into
rapidsai:mainfrom
seunghwak:fea_int8_in_arithmetic_device_uvector
Open

Update arithmetic_device_uvector_t (device_span_t) to support int8_t and int16_t types.#5628
seunghwak wants to merge 4 commits into
rapidsai:mainfrom
seunghwak:fea_int8_in_arithmetic_device_uvector

Conversation

@seunghwak

Copy link
Copy Markdown
Contributor

This updates type erased vectors/spans (arithmetic_device_uvector_t and arithmetic_device_span_t) to support int8_t/int16_t.

This is a per-requisite to support int16_t edge type in graph creation.

@seunghwak
seunghwak requested a review from a team as a code owner August 14, 2026 22:01
@copy-pr-bot

copy-pr-bot Bot commented Aug 14, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@alexbarghi-nv alexbarghi-nv added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Aug 14, 2026
@seunghwak

Copy link
Copy Markdown
Contributor Author

/ok to test 9f1d033

@seunghwak seunghwak self-assigned this Aug 14, 2026
@seunghwak

Copy link
Copy Markdown
Contributor Author

/ok to test 3f4bd9b

@seunghwak

Copy link
Copy Markdown
Contributor Author

1
FAILED tests/internals/test_replicate_edgelist_mg.py::test_mg_replicate_edgelist[False-True-False-False-dataset2] - RuntimeError: non-success value returned from replicate_edgelist: CUGRAPH_UNKNOWN_ERROR ERROR: Data type INT32 not allowed for weight type (valid types: FLOAT32, FLOAT64).

Do we use int32_t for weight_t?

@seunghwak
seunghwak requested a review from a team as a code owner August 15, 2026 00:38
@seunghwak

Copy link
Copy Markdown
Contributor Author

/ok to test 88bc842

@ChuckHastings

Copy link
Copy Markdown
Collaborator

1
FAILED tests/internals/test_replicate_edgelist_mg.py::test_mg_replicate_edgelist[False-True-False-False-dataset2] - RuntimeError: non-success value returned from replicate_edgelist: CUGRAPH_UNKNOWN_ERROR ERROR: Data type INT32 not allowed for weight type (valid types: FLOAT32, FLOAT64).

Do we use int32_t for weight_t?

I suspect this was not just not converted and was passing because we didn't have the check you just added.

At one time we used the edge weight column to pass edge ids. Perhaps this is leftover from that test?

@seunghwak

Copy link
Copy Markdown
Contributor Author

/ok to test acc6cd0

@seunghwak

Copy link
Copy Markdown
Contributor Author
def _mg_call_plc_replicate(
    client: dask.distributed.client.Client,
    sID: bytes,
    dask_object: dict,
    input_type: str,
    col_names: list,
) -> Union[dask_cudf.DataFrame, dask_cudf.Series]:
    if input_type == "dataframe":
        result = [
            client.submit(
                _call_plc_replicate_dataframe,
                sID,
                edata,
                workers=[w],
                allow_other_workers=False,
                pure=False,
            )
            for w, edata in dask_object.items()
        ]
    elif input_type == "dataframe":
        result = [
            client.submit(
                _call_plc_replicate_series,
                sID,
                edata,
                workers=[w],
                allow_other_workers=False,
                pure=False,
            )
            for w, edata in dask_object.items()
        ]

Not directly related to this PR, but this code looks suspicious as well.

    elif input_type == "dataframe":

Shouldn't "dataframe" here be "series"?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improvement / enhancement to an existing function non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants