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

is it needed for intel core i7 ? #1

Open
Sandy4321 opened this issue Jul 24, 2018 · 9 comments
Open

is it needed for intel core i7 ? #1

Sandy4321 opened this issue Jul 24, 2018 · 9 comments

Comments

@Sandy4321
Copy link

is it needed for intel core i7 ?

@fo40225
Copy link
Owner

fo40225 commented Jul 25, 2018

No, those whl is build for AMD.

Anaconda build numpy link against mkl, it provided maximum performance on Intel CPU already.

@RoyiAvital
Copy link

Could you explain what this library does?
Do you patch MKL to chose a good code path based on CPU features instead of the manufacturer?

@fo40225
Copy link
Owner

fo40225 commented Oct 7, 2019

@RoyiAvital
Those whl build with OpenMP instead of Intel TBB and link to Agner's MKL patch to prevent MKL check the CPUID is GenuineIntel or not.

@RoyiAvital
Copy link

RoyiAvital commented Oct 7, 2019

Can you build MKL DLL like this?

I mean rebuilding something like mkl_rt.dll.

@fo40225
Copy link
Owner

fo40225 commented Oct 7, 2019

@RoyiAvital
No, the way to patch mkl on windows is static link to the mkl and replace the detect function.

Maybe you can replace the function in the mkl_intel_thread.dll, mkl_avx2.dll, mkl_core.dll or mkl_sequential.dll.

@RoyiAvital
Copy link

I see.

Problem is many languages use the mkl_rt.dll.
I wonder if there is a way to patch it or something like that.

@fo40225
Copy link
Owner

fo40225 commented Oct 7, 2019

@RoyiAvital
If you are using C++, checkout Agner's asmlib.

@RoyiAvital
Copy link

I know it. You seem to use its patch. I wonder how could one patch pre built DLL and not in compilation.

@fo40225
Copy link
Owner

fo40225 commented Oct 7, 2019

@RoyiAvital

You can write a wrapper dll that export all function in MKL but static link the mkl.lib and patch.

It should work.

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

3 participants