scikit-cuda icon indicating copy to clipboard operation
scikit-cuda copied to clipboard

Wrap tridiagonal methods from cuSPARSE

Open RyanGutenkunst opened this issue 4 years ago • 6 comments

I've wrapped the methods for solving batch tridiagonal systems in cuSPARSE.

Unit tests are in tests/test_cusparse. The code has been put into production use on a Windows box at home and two Linux clusters, so it seems relatively robust.

My software dadi https://bitbucket.org/gutenkunstlab/dadi now (optionally) depends on this, so it would very much appreciate getting it merged into the distribution.

I could use feedback on the following.

  1. I tried creating the appropriate file in docs to get the methods I implemented documented, but I'm getting a bunch of errors when I try to run Sphinx, and the docs aren't getting fully created. I'm not experience with Sphinx. Can anyone help with debugging that?

  2. I removed the incomplete previously existing methods from cusparse.py . I don't know if that's preferred to keep the source clean, or whether I should put them back to preserve that incomplete work.

RyanGutenkunst avatar May 08 '20 22:05 RyanGutenkunst

Bumping for visibility. Is @lebedov still actively maintaining this repository?

RyanGutenkunst avatar Jun 26 '20 15:06 RyanGutenkunst

Hello @lebedov, I'm about to submit a manuscript about our software using the newly wrapped library functions. (You can see the current draft here: https://www.overleaf.com/read/mrdcvpvxpshc .) I can move this support into my software itself, but I think it would be better for users if it lived in skcuda. Is there any chance of getting this pulled into the main skcuda distribution? Thanks, Ryan

RyanGutenkunst avatar Jul 23 '20 19:07 RyanGutenkunst

@RyanGutenkunst Do you mind giving a list of functions you added?

wingkitlee0 avatar Aug 28 '20 19:08 wingkitlee0

The important ones I wrapped are cusparseSgtsv2StridedBatch, cusparseDgtsv2StridedBatch, cusparseSgtsvInterleavedBatch, and cusparseDgtsvInterleavedBatch. I also wrapped the corresponding functions for calculating buffer sizes.

RyanGutenkunst avatar Aug 28 '20 21:08 RyanGutenkunst

Thanks! I helped you send Lev a message.. I previously contributed something to this repo but don't have permission to accept PR. Hope this do not block you anything.

wingkitlee0 avatar Aug 28 '20 21:08 wingkitlee0

Thanks Kit! I was able to pull the code into my own software, so it's not a big hold up for me now.

RyanGutenkunst avatar Aug 28 '20 22:08 RyanGutenkunst