forked from taichi-dev/taichi
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Lang] Support LU sparse solver on CUDA backend (taichi-dev#6967)
Issue: taichi-dev#2906 ### Brief Summary To be consistent with API on CPU backend, this pr provides LU sparse solver on CUDA backend. CuSolver just provides a CPU version API of LU sparse solver which is used in this PR. The cuSolverRF provides a GPU version LU solve, but it only supports `double` datatype. Thus, it's not used in this PR. Besides, the `print_triplets` is refactored to resolve the ndarray `read` constraints (the `read` and `write` data should be the same datatype). Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Loading branch information
1 parent
e2da2ac
commit fcb2edf
Showing
10 changed files
with
352 additions
and
285 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.