News for hackers. Stuff that matters.
Re:Intel's “cripple AMD” function (2019) by danieldk on Saturday August 29, 2020 @08:46AM (#24315709)
That's definitely possible (it probably checks that the manufacturer ID is GenuineIntel), but nobody wants to distribute patched MKL versions, because it most likely violates the MKL license.

It may even be easier to replace the function altogether with LD_PRELOAD.

Re:Intel's “cripple AMD” function (2019) by danieldk on Saturday August 29, 2020 @08:55AM (#24315753)
Indeed works. A simple trace reveals that the function is called mkl_serv_intel_cpu_true().

Make a file with the following content:

    int mkl_serv_intel_cpu_true() {
      return 1;
    }
Compile

    gcc -shared -o libfake.so fake.c
Run

    LD_PRELOAD=libfake.so yourprogram
And it uses the optimized AVX codepaths.

Disclaimer: may not be legal in your country. I take no responsibility.

Re:Intel's “cripple AMD” function (2019) by danieldk on Sunday August 30, 2020 @07:33AM (#24322698)
By the way, if you want make this permanent in a binary, there is no need to set LD_PRELOAD all the time. You could just add a DT_NEEDED entry to the dynamic section. E.g. something like:

    patchelf --add-needed libfakeintel.so yourbinary
Re:Intel's “cripple AMD” function (2019) by ashleyn on Saturday August 29, 2020 @04:03PM (#24319008)
Wow. I wasn't quite expecting something as simple as "if CPU is not intel, make everything worse."
Re:Intel's “cripple AMD” function (2019) by colejohnson66 on Sunday August 30, 2020 @02:50PM (#24324958)
I’m sure their justification is that (1) they have no obligation to help AMD, and (2) how could you guarantee AMD implements CPUID the same as Intel (as in: what if AMD implements a feature bit differently?)

Of course, the second one makes no sense as x86 programs run just as fine on AMD as Intel with the same feature set (albeit at different speeds)

Re:Intel's “cripple AMD” function (2019) by krageon on Saturday August 29, 2020 @10:19AM (#24316273)
You distribute a binary patch for a given MKL release, have your package download the official MKL release and then patch it using the binary patch. Nobody suffers, everyone wins.
Re:Intel's “cripple AMD” function (2019) by rasz on Saturday August 29, 2020 @07:04PM (#24320044)
No need to patch MKL, just your own binaries post compile.