-
Notifications
You must be signed in to change notification settings - Fork 8
Intel MKL backend #8
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
Conversation
Sorry I found critical bug :< |
I have fixed the bug, and it will works :) |
Test has been passed. |
I just want to say “thank you” for your work here and in |
I cannot construct it :< Could you give me a small sample? |
One could write in [dependencies]
lapack-sys = { version = "0.11", default-features = false }
intel-mkl-src = "0.2.5" and then use lapack_sys;
use intel_mkl_src; |
Thanks, I've gotten a working example.
This is also true for OpenBLAS and others, right? I prefer the rust's |
Please have a look at the discussion here. I lean toward what @astraw proposes there. To this end, I’ve already created [dependencies]
blas = "0.18"
blas-src = { version = "0.1", features = ["openblas"] } But one will also have to mention the linking crate in the codebase: extern crate blas;
extern crate blas_src; The next step is to remove all the features from those four main crates. However, it should first be agreed upon by those who’re actively involved in this project. |
I just added a comment at blas-lapack-rs/blas-sys#17 describing that approach is working for me in practice. I agree with removing feature flags from the low-level binding and wrapper crates and specifying the actual implementation in a crate used as a dependency only in the final binary. |
I see the policy. Can I send PR to blas-src and lapack-src to enable intel-mkl backend? |
@termoshtt, I think it’s better to wait. We haven’t come to any conclusion yet. |
OK. BTW, |
Yeah, those features are another complication if we want to have a single access point to different implementations. |
I close this, as it’ll eventually be somewhere else, such as on this page. |
Recently I created intel-mkl-src crate to use Intel MKL in Rust easily. It is still experimental and only supports static link, but I confirmed it works with ndarray-linalg in my machine (Arch Linux).
I extract the static library (and compressed by xz) from the official package for Linux, and thus I expect that it does not works on other platforms.