question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Converting sparse matrix errors

See original GitHub issue

Am seeing the following error when trying to convert a csc_matrix to a coo_matrix. Though also see some variation of this when trying to go to a csr_matrix from a csc_matrix and other similar conversions.

  • Conditions (you can just paste the output of python -c 'import cupy; cupy.show_config()')
CuPy Version          : 7.2.0
CUDA Root             : /datasets/jkirkham/miniconda/envs/rapids13dev
CUDA Build Version    : 10010
CUDA Driver Version   : 10020
CUDA Runtime Version  : 10010
cuBLAS Version        : 10201
cuFFT Version         : 10101
cuRAND Version        : 10101
cuSOLVER Version      : (10, 2, 0)
cuSPARSE Version      : 10300
NVRTC Version         : (10, 1)
cuDNN Build Version   : 7605
cuDNN Version         : 7605
NCCL Build Version    : 2406
NCCL Runtime Version  : 2507
  • Code to reproduce
In [1]: import cupy                                                             

In [2]: a = cupy.array([[0, 1, 0], 
   ...:                 [2, 0, 3], 
   ...:                 [0, 4, 0]], dtype=float)                                

In [3]: a2 = cupy.sparse.csc_matrix(a)                                          

In [4]: a3 = a2.tocoo()                                                         
  • Error messages, stack traces, or logs
---------------------------------------------------------------------------
CUDADriverError                           Traceback (most recent call last)
<ipython-input-4-14bf9613c858> in <module>
----> 1 a3 = a2.tocoo()

/datasets/jkirkham/miniconda/envs/rapids13dev/lib/python3.7/site-packages/cupyx/scipy/sparse/csc.py in tocoo(self, copy)
    179 
    180         """
--> 181         return self.T.tocoo(copy).T
    182 
    183     def tocsc(self, copy=None):

/datasets/jkirkham/miniconda/envs/rapids13dev/lib/python3.7/site-packages/cupyx/scipy/sparse/csr.py in tocoo(self, copy)
    239             indices = self.indices
    240 
--> 241         return cusparse.csr2coo(self, data, indices)
    242 
    243     def tocsc(self, copy=False):

/datasets/jkirkham/miniconda/envs/rapids13dev/lib/python3.7/site-packages/cupy/cusparse.py in csr2coo(x, data, indices)
    631     # data and indices did not need to be copied already
    632     return cupyx.scipy.sparse.coo_matrix(
--> 633         (data, (row, indices)), shape=x.shape)
    634 
    635 

/datasets/jkirkham/miniconda/envs/rapids13dev/lib/python3.7/site-packages/cupyx/scipy/sparse/coo.py in __init__(self, arg1, shape, dtype, copy)
    128 
    129         if len(data) > 0:
--> 130             if row.max() >= shape[0]:
    131                 raise ValueError('row index exceeds matrix dimensions')
    132             if col.max() >= shape[1]:

cupy/core/core.pyx in cupy.core.core.ndarray.__richcmp__()

cupy/core/_kernel.pyx in cupy.core._kernel.ufunc.__call__()

cupy/core/_kernel.pyx in cupy.core._kernel.ufunc._get_ufunc_kernel()

cupy/core/_kernel.pyx in cupy.core._kernel._get_ufunc_kernel()

cupy/core/_kernel.pyx in cupy.core._kernel._get_simple_elementwise_kernel()

cupy/core/carray.pxi in cupy.core.core.compile_with_cache()

/datasets/jkirkham/miniconda/envs/rapids13dev/lib/python3.7/site-packages/cupy/cuda/compiler.py in compile_with_cache(source, options, arch, cache_dir, extra_source, backend)
    285     else:
    286         return _compile_with_cache_cuda(source, options, arch, cache_dir,
--> 287                                         extra_source, backend)
    288 
    289 

/datasets/jkirkham/miniconda/envs/rapids13dev/lib/python3.7/site-packages/cupy/cuda/compiler.py in _compile_with_cache_cuda(source, options, arch, cache_dir, extra_source, backend)
    333             cubin_hash = six.b(hashlib.md5(cubin).hexdigest())
    334             if hash == cubin_hash:
--> 335                 mod.load(cubin)
    336                 return mod
    337 

cupy/cuda/function.pyx in cupy.cuda.function.Module.load()

cupy/cuda/function.pyx in cupy.cuda.function.Module.load()

cupy/cuda/driver.pyx in cupy.cuda.driver.moduleLoadData()

cupy/cuda/driver.pyx in cupy.cuda.driver.check_status()

CUDADriverError: CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory access was encountered

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:9 (9 by maintainers)

github_iconTop GitHub Comments

1reaction
leofangcommented, Feb 22, 2020

Confirmed this is fixed in the updated conda package (conda-forge/cupy-feedstock#39).

1reaction
jakirkhamcommented, Feb 22, 2020

Sure if it is helpful to have open. No objections. Reopening…

Thanks Leo 🙂

Read more comments on GitHub >

github_iconTop Results From Across the Web

python - Memory error when converting matrix to sparse matrix ...
Purpose: I want to invert the dense matrix first and then convert it to a sparse matrix, but it will report a memory...
Read more >
Sparse matrices (scipy.sparse) — SciPy v1.9.3 Manual
To perform manipulations such as multiplication or inversion, first convert the matrix to either CSC or CSR format. The lil_matrix format is row-based,...
Read more >
Convert matrix or dataframe to sparse Matrix in R
Example: Converting matrix to sparse matrix in R ... We will convert the dataframe to a sparse matrix by using the sparseMatrix() function ......
Read more >
Matrix package bug?
Hi @robertc , I face an error when trying to run gsva function from the GSVA package using a big sparse matrix (class...
Read more >
Converting scipy sparse csr_matrix to dask array
We are getting OOM error on scipy sparse csr matrix on slicing the matrix. So to avoid OOM we are planning on converting...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found