Hello Andreas,
Thank you for the quick and helpful reply!
None of the existing scikit-cuda routines does what I need, but there is a stub for
cuSPARSE within scikit-cuda, which is promising. I’ve posted to an old issue about
cuSPARSE and wrapping what I need, so hopefully I’ll get rolling soon:
On Apr 8, 2020, at 1:20 PM, Andreas Kloeckner
<lists(a)informa.tiker.net> wrote:
"Gutenkunst, Ryan N - (rgutenk)" <rgutenk(a)arizona.edu> writes:
Hello,
I need to access the tridiagonal solving routines gtsv2StridedBatch
and gtsvInterleavedBatch from the cuSPARSE library in a Python/C
program. Is there a way to access/link to the cuSPARSE library using
PyCUDA?
For background, I’m hoping to port a Python (with inner loops in C)
application to leverage GPU computing. The most intensive part of the
computation is solving tridiagonal systems, so I was excited to see
that the standard cuSPARSE library includes routines for this. But I’m
struggling to see how to access cuSPARSE using any of the existing
Python to CUDA interfaces. For PyCUDA, I couldn’t find a similar
example in the documentation. Pyculib has bindings for an older
version of cuSPARSE, but it’s not maintained and I couldn’t get it
installed easily:
https://pyculib.readthedocs.io/en/latest/cusparse.html. CuPy seems to
support only a very small fraction of cuSPARSE:
https://docs-cupy.chainer.org/en/stable/reference/sparse.html .
There's scikit.cuda, which offers access to cuSOLVER, which bills itself
as "the CUDA sparse matix library."
https://scikit-cuda.readthedocs.io/en/latest/
There's also discussion going on about adapting PyCUDA to Nvidia's
"primary context" notion for easier interoperability with the runtime API.
Hope that helps,
Andreas
External Email
_______________________________________________
PyCUDA mailing list -- pycuda(a)tiker.net
To unsubscribe send an email to pycuda-leave(a)tiker.net
--
Ryan Gutenkunst
Associate Professor and Associate Department Head
Department of Molecular and Cellular Biology, University of Arizona
phone: (520) 626-0569, office: LSS 325, web: