cuSOLVER's `cusolverSp<t>csrlsvchol` is deprecated (use cuDSS instead)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 12.3k
- Forks
- 1.1k
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 37
Description
cuSOLVER recently [deprecated `cusolverSpcsrlsvchol`]( https://docs.nvidia.com/cuda/cusolver/index.html#cusolversp-t-csrlsvchol-deprecated ) where `` is the character representing the type. So these functions are affected:
* `cusolverSpScsrlsvchol`: `float32`
* `cusolverSpDcsrlsvchol`: `float64`
* `cusolverSpCcsrlsvchol`: `complex32`
* `cusolverSpZcsrlsvchol`: `complex64`
Currently CuPy is forward declaring and wrapping them
https://github.com/cupy/cupy/blob/418a9169bc9994574a22e6bfb07edb39d91899c6/cupy_backends/cuda/libs/cusolver.pyx#L951-L968
https://github.com/cupy/cupy/blob/418a9169bc9994574a22e6bfb07edb39d91899c6/cupy_backends/cuda/libs/cusolver.pyx#L3495-L3547
It looks like the `float` and `double` variants are used here:
https://github.com/cupy/cupy/blob/418a9169bc9994574a22e6bfb07edb39d91899c6/cupyx/linalg/sparse/_solve.py#L50-L57
Not seeing any other usage
The recommendation is to use cuDSS for these operations
Mentioning as we are seeing deprecation warnings in the builds now
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the cuSOLVER declarations and wrappers in cupy_backends/cuda/libs/cusolver.pyx at lines 951-968 and 3495-3547, then trace the float and double call sites in cupyx/linalg/sparse/_solve.py at lines 50-57. Check the cuDSS recommendation and determine the required integration path; done means the sparse operations no longer use the deprecated functions and builds stop emitting their warnings.
Written by the indexing model from the issue text.
Assessment
- Domain
- hpc
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100