Skip to content
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

Request to implement lapack::gesv #475

Open
npolina4 opened this issue Apr 19, 2024 · 3 comments
Open

Request to implement lapack::gesv #475

npolina4 opened this issue Apr 19, 2024 · 3 comments

Comments

@npolina4
Copy link

Summary

Request to implement lapack::gesv for lapack_mklcpu, lapack_mklgpu, and lapack_cusolver library.

Problem statement

I use lapack::gesv to solve a linear matrix equation, or system of linear scalar equations.

Preferred solution

Would be great to have same functionality like onemkl::lapack::gesv from Intel oneAPI.

@sknepper
Copy link
Contributor

Thanks for the request, @npolina4 !
Please note that lapack::gesv is not yet part of the oneMKL specification (https://github.com/oneapi-src/oneapi-spec), so it would need to be added to the spec before it could be implemented in the oneMKL interfaces.
That said, it seems like a useful addition and there are implementations in different vendor libraries (oneapi::mkl::lapack::gesv, cusolverDn??gesv for ?=D/S/Z/C, rocsolver_?gesv for ?=d/s/z/c).

@npolina4
Copy link
Author

Can you suggest a workaround that I can use until lapack::gesv is implemented?
Thanks

@sknepper
Copy link
Contributor

Hi @npolina4 ! Yes, lapack::gesv is essentially a higher-level driver that combines LU factorization followed by solve, lapack::getrf and lapack::getrs, into one call. The example https://github.com/oneapi-src/oneMKL/blob/develop/examples/lapack/run_time_dispatching/getrs_usm.cpp demonstrates these two calls.

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

No branches or pull requests

2 participants