-
-
Notifications
You must be signed in to change notification settings - Fork 778
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
cupy.sparse.MatDescriptor is not pickleable #3061
Comments
I believe I just figured out why this is happening:
|
cjnolet
changed the title
sparse.csr_matrix segmentation fault on memory free
cupy.sparse.MatDescriptor is not pickleable
Feb 10, 2020
We should make this pickleable (eg. create a new mat descriptor each time, just like when a new sparse array is created). |
Update: I was able to fix this on my end using
|
Added PR ( #3157 ) to provide |
rapids-bot bot
pushed a commit
to rapidsai/cuml
that referenced
this issue
Nov 30, 2022
It should be safe to remove this now that cupy/cupy#3061 has been fixed Authors: - Dante Gama Dessavre (https://github.com/dantegd) - Corey J. Nolet (https://github.com/cjnolet) Approvers: - William Hicks (https://github.com/wphicks) URL: #5024
jakirkham
pushed a commit
to jakirkham/cuml
that referenced
this issue
Feb 27, 2023
It should be safe to remove this now that cupy/cupy#3061 has been fixed Authors: - Dante Gama Dessavre (https://github.com/dantegd) - Corey J. Nolet (https://github.com/cjnolet) Approvers: - William Hicks (https://github.com/wphicks) URL: rapidsai#5024
2 tasks
2 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I am encountering a segfault when freeing a CuPy sparse
csr_matrix
which was computed from a Dask array. I have an intuition that Dask might not be the cause of this problem. From a simple inspection of properties like__cuda_array_interface__
and the allocator on the underlying index/data arrays, I don't see any obvious indications of a double free.I am also able to successfully pickle and unpickle a CuPy
csr_matrix
and was able to free the resulting unpickled matrix without a segfault.Also, the strangest part about this error is that it doesn't happen when the contents of
build_arr
is run sequentially in the calling function. That is, I only get this segfault when returning a Dask.Array backed by sparse CuPy arrays from a function and calling "compute" in the calling function.Here's the output and exception:
What I find really strange about this error is this:
libcusparse.so.10.0(cusparseDestroyMatDescr+0xe)
I'm not sure completely sure where a cuSparse matrix descriptor would be lingering in the code. I also tried adding more stream synchronization just to make absolutely sure there wasn't a stray conversion somewhere, but that didn't seem to help.
The text was updated successfully, but these errors were encountered: