Linear solver with sparse matrix on Xavier

Hi experts,

I need to solve linear system from a sparse matrix in CSR format where the sparse matrix, the dense argument vector and dense solution vector are already in device memory.

With Orin, using cuDSS it works fine.

Now I’m trying to backport the same to Xavier NX device, but cuDSS isn’t available because of Ubuntu/glibc version (and maybe more…).

So I’m looking at cuSolver and cuSparse, but it seems that it requires in this case to copy to host for launching and copy solution from host to device again, which seems unexpectedly complicated and double memory consumption for my case.

Did I misunderstand and someone can tell me the right API for avoiding this ?

Thanks for any help or comment.

It’s not obvious why the Xavier NX would have stack issues that the Orin doesn’t. Are you using the same Jetpack installer on both?

I would definitely encourage you to get cuDSS running if possible, because that is the wave of the future for NVIDIA CUDA sparse solvers. For example, note the deprecated notice here.

Anyhow, here is one time I tried something with cusolverSp…csrlsvqr that uses device-resident data. I just retested the codes there and they still seem to work the same way on CUDA 12.8.1.

1 Like

Thank you very much @Robert_Crovella, it worked out.

AFAIK, cuDSS repositories are only available for Ubuntu-22 and Ubuntu-24. JetPack6 (Ubuntu-22.04 based) is only available for Jetson Orin so far, while Xavier only suppports JetPack5 that is Ubuntu-20 based.
Trying cuDSS with Xavier resulted in libc version mismatch at link time.
If there is a way to use cuDSS with Xavier, I’d be happy to learn how to achieve that.

Thanks again.

Agreed, it seems that cuDSS only supports orin, see here.

cuDSS v0.3.0
New Features:

  • Extended support to Linux ARM(aarch64) (Ubuntu 22.04, only on Orin (SM 8.7) devices)

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.