-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[Topi,x86] Split MKL from BLAS. #6182
Conversation
26e722f
to
5e9583d
Compare
Make cblas and mkl seperate entities in cmake and topi, allowing users to use both a BLAS library and MKL. In the future, MKL specific functions can be added easily. MKLDNN is also split off from MKL and BLAS for the same reasons. Other improvements: - cblas and mkl strategies are now only applied when they are viable. - compile_engine will log which implementation it has chosen and why.
I can understand separating MKLDNN from the BLAS. But why separate the MKL from BLAS library? |
Separating MKL from BLAS has two purposes: 1. We can compare other BLAS implementations vs MKL. I think MKL can be better in general, but we have no way of comparing. 2. MKL has a number of operations that are not part of BLAS like batch matrix products and sparse matrix products. With MKL separate, it is easier to add these features. |
@icemelon9 please follow up :) |
Thanks @tkonolige @icemelon9 ! |
Make cblas and mkl seperate entities in cmake and topi, allowing users to use both a BLAS library and MKL. In the future, MKL specific functions can be added easily. MKLDNN is also split off from MKL and BLAS for the same reasons. Other improvements: - cblas and mkl strategies are now only applied when they are viable. - compile_engine will log which implementation it has chosen and why.
Make cblas and mkl seperate entities in cmake and topi, allowing users to use both a BLAS library and MKL. In the future, MKL specific functions can be added easily. MKLDNN is also split off from MKL and BLAS for the same reasons. Other improvements: - cblas and mkl strategies are now only applied when they are viable. - compile_engine will log which implementation it has chosen and why.
Make cblas and mkl seperate entities in cmake and topi, allowing users to use both a BLAS library and MKL. In the future, MKL specific functions can be added easily. MKLDNN is also split off from MKL and BLAS for the same reasons. Other improvements: - cblas and mkl strategies are now only applied when they are viable. - compile_engine will log which implementation it has chosen and why.
Make cblas and mkl seperate entities in cmake and topi, allowing users to use both a BLAS library and MKL. In the future, MKL specific functions can be added easily. MKLDNN is also split off from MKL and BLAS for the same reasons. Other improvements: - cblas and mkl strategies are now only applied when they are viable. - compile_engine will log which implementation it has chosen and why.
Make cblas and mkl seperate entities in cmake and topi, allowing users to use both a BLAS library and MKL. In the future, MKL specific functions can be added easily. MKLDNN is also split off from MKL and BLAS for the same reasons. Other improvements: - cblas and mkl strategies are now only applied when they are viable. - compile_engine will log which implementation it has chosen and why.
Make cblas and mkl seperate entities in cmake and topi, allowing users to use both a BLAS library and MKL. In the future, MKL specific functions can be added easily. MKLDNN is also split off from MKL and BLAS for the same reasons. Other improvements: - cblas and mkl strategies are now only applied when they are viable. - compile_engine will log which implementation it has chosen and why.
Make cblas and mkl seperate entities in cmake and topi, allowing users
to use both a BLAS library and MKL. In the future, MKL specific
functions can be added easily. MKLDNN is also split off from MKL and
BLAS for the same reasons.
Other improvements:
@merrymercy @icemelon9