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

Wrap tridiagonal methods from cuSPARSE #297

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

RyanGutenkunst
Copy link

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
Copy link
Author

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

@RyanGutenkunst
Copy link
Author

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

@wingkitlee0
Copy link
Contributor

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

@RyanGutenkunst
Copy link
Author

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

@wingkitlee0
Copy link
Contributor

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.

@RyanGutenkunst
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants