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

CuDF backend doesn't check CuDF version before doing version-dependent things #3335

Open
jpivarski opened this issue Dec 9, 2024 · 3 comments · May be fixed by #3339
Open

CuDF backend doesn't check CuDF version before doing version-dependent things #3335

jpivarski opened this issue Dec 9, 2024 · 3 comments · May be fixed by #3339
Labels
gpu Concerns the GPU implementation (backend = "cuda')

Comments

@jpivarski
Copy link
Member

I had cudf 24.04.01 installed (apparently, when a package comes from another channel, update --all doesn't get it), and got this error from tests-cuda/test_3051_to_cuda.py:

>       return cudf.core.column.lists.ListColumn(
            size=length,
            data=None,
            mask=m,
            children=(ind_buf, cont),
            dtype=cudf.core.dtypes.ListDtype(cont.dtype),
        )
E       TypeError: ListColumn.__init__() got an unexpected keyword argument 'data'
E       
E       This error occurred while calling
E       
E           ak.to_cudf(
E               <Array [[[1, 2, 3], [], [3, 4]], []] type='2 * var * var * int64'>
E           )

Naturally, this is #3309. I updated cudf to 24.10.01 and there's no problem.

If you try to use this feature without CuDF, I'm sure you'd get some error message saying, "you need to install CuDF," but the above error message is mysterious if you don't know that you have an old version of CuDF. It would be more helpful if it said, "you need to install VERSION XYZ of CuDF," like

if parse_version(numba.__version__) < parse_version("0.50"):
raise ImportError(
"Awkward Array can only work with numba 0.50 or later "
f"(you have version {numba.__version__})"
)

@martindurant, is 24.10.00 the exact minimum? Which is the minimum CuDF version that is okay/the maximum CuDF version that is bad?

@jpivarski jpivarski added the gpu Concerns the GPU implementation (backend = "cuda') label Dec 9, 2024
@martindurant
Copy link
Contributor

It seems that when I said "they kept the same arguments but forced you to supply and name them", I was wrong :|
rapidsai/cudf#16454 was the PR, I'm not sure when it got released.

@jpivarski
Copy link
Member Author

Okay, then 24.10.00 is the first release that we support.

This issue stands as a add that version check, in a style similar to the Numba version check.

@martindurant
Copy link
Contributor

martindurant commented Dec 10, 2024

Here is the other PR in cudf specifically for the signature change of NumericalColumn (i.e., the argument names): rapidsai/cudf#16457 (August 15). Before that PR is when our current code would actually break.

martindurant added a commit to martindurant/awkward that referenced this issue Dec 11, 2024
@martindurant martindurant linked a pull request Dec 11, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gpu Concerns the GPU implementation (backend = "cuda')
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants