Skip to content

RHS for SVD and QR approaches are m x m, but can be reduced #223

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

Closed
kuberry opened this issue Nov 23, 2020 · 1 comment
Closed

RHS for SVD and QR approaches are m x m, but can be reduced #223

kuberry opened this issue Nov 23, 2020 · 1 comment
Assignees
Labels

Comments

@kuberry
Copy link
Collaborator

kuberry commented Nov 23, 2020

If SVD or QR are used, the RHS could really just be a m x 1 because it is a column scaling for U^T.
Because this matrix also stores the eventual polynomial coefficient matrix, it must be at least m x n.
Currently this is allocated to m x m which is unnecessarily large.

If LU is used, there is no issue because P rather than RHS is used for the actual system right hand side solve, which already is m x n.

This should be addressed as part of the conversion from LAPACK/CUBLAS implementation to batched QR with pivoting conversion in KokkosKernels.

@kuberry kuberry self-assigned this Nov 23, 2020
@kuberry
Copy link
Collaborator Author

kuberry commented Dec 2, 2020

The above is currently completed in the k2_qr_pivot and qr_pivot branch.

Remaining things to do:

  • Reduce number of items using scratch space and requiring a copy
  • Check for serial case, and run it differently (no teams)
  • Separate work vector in UTV as level 0, and in SolveUTV as level 1. For LU keep work vector for SolveUTV as _N x _NRHS, while for SVD or QR set it to size 0 and pass in level 0 work vector that is size _M and copy of contents of B prior to using B to store solution. Try to use B matrix (n x m) to store (U'*B)
  • Clean up print statements in QR debug
    - [ ] Consider changing THREADS= to TEAM_THREADS= and VECTORLANES= to TEAM_VECTOR_LANES=

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

No branches or pull requests

1 participant