Uh oh!
There was an error while loading. Please reload this page.
Implement of dpnp.linalg.cholesky() - #1638
Conversation
View rendered docs @ https://intelpython.github.io/dpnp/pull//index.html |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| ht_lapack_ev.wait() | ||
| a_ht_copy_ev.wait() | ||
| a_h = dpnp.tril(a_h) |
There was a problem hiding this comment.
why do we need to create a copy here? can we control the required decomposition by upper_lower flag and to avoid the extra copying?
There was a problem hiding this comment.
Because we need to get lower or upper triangular matrix with zeros above or below the main diagonal.
Since potrf and potrf_batch writes the result to the input array, we need to get rid of the input array data that has not changed.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
antonwolfy
left a comment
There was a problem hiding this comment.
LGTM! Thank you @vlad-perevezentsev
This PR updates
dpnp.linalg.cholesky()function to calculate the Cholesky factorization usingoneapi::mkl::lapack::potrfandoneapi::mkl::lapack::potrf_batchThe implementation is written as a pybind11 extension above required LAPACK functions.