Closed
Conversation
7ec5f7f to
0f5bdcb
Compare
Closed
81475a6 to
2be393a
Compare
lowener
requested changes
Aug 22, 2024
379de5a to
bd26c79
Compare
bd26c79 to
7b31108
Compare
cjnolet
reviewed
Sep 6, 2024
lowener
requested changes
Sep 25, 2024
Contributor
lowener
left a comment
There was a problem hiding this comment.
Can a test for the python API of Lanczos also be added?
| handle, | ||
| v0_vector_const, | ||
| V_0_view, | ||
| [device_scalar = v0nrm_scalar.data_handle()] __device__(auto y) { return y / *device_scalar; }); |
Contributor
There was a problem hiding this comment.
Can v0nrm and it's copy operations be skipped this way?
Suggested change
| [device_scalar = v0nrm_scalar.data_handle()] __device__(auto y) { return y / *device_scalar; }); | |
| [device_scalar = output1.data_handle()] __device__(auto y) { return y / *device_scalar; }); |
Contributor
|
I unfortunately don't have permissions to push on the branch of this PR so I kept the commits and continued on PR #2481. |
rapids-bot bot
pushed a commit
that referenced
this pull request
Nov 20, 2024
I unfortunately don't have permissions to push on @aamijar branch for the previous Lanczos solver PR (#2416) so I kept his commits and continued it here. ## Lanczos Solver for Sparse Eigen Decomposition We propose a new lanczos solver in raft that fixes the issues present in the previous solver `raft::sparse::solver::detail::computeSmallestEigenvectors`. Specifically we address the following issues: 1. Numerical Stability for both float32 and float64 datatypes 2. Efficiency and Speed of Convergence This new implementation is taken from the cupy library `cupyx.scipy.sparse.linalg.eigsh` where the thick-restart and full reorthogonalzation methods are used. Additionally this PR exposes a python api for raft lanczos solver with an interface similar to `scipy.sparse.linalg.eigsh` and `cupyx.scipy.sparse.linalg.eigsh`. ```py3 from pylibraft.solver import eigsh ``` Authors: - Micka (https://github.com/lowener) - Anupam (https://github.com/aamijar) - Corey J. Nolet (https://github.com/cjnolet) Approvers: - Kyle Edwards (https://github.com/KyleFromNVIDIA) - Corey J. Nolet (https://github.com/cjnolet) URL: #2481
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lanczos Solver for Sparse Eigen Decomposition
We propose a new lanczos solver in raft that fixes the issues present in the previous solver
raft::sparse::solver::detail::computeSmallestEigenvectors.Specifically we address the following issues:
This new implementation is taken from the cupy library
cupyx.scipy.sparse.linalg.eigshwhere the thick-restart and full reorthogonalzation methods are used.Additionally this PR exposes a python api for raft lanczos solver with an interface similar to
scipy.sparse.linalg.eigshandcupyx.scipy.sparse.linalg.eigsh.