News for hackers. Stuff that matters.
Re:R, OpenMP, MKL, Disaster by danieldk on Sunday October 03, 2021 @09:24AM (#28736995)
On AMD hardware, I don't understand why people avoid AMD's support, which is just a version of BLIS and libflame.

A year ago, I benchmarked a transformer network with libtorch linked against various BLAS libraries (numbers are in sentences per second, MKL with CPU detection override on AMD, 4 threads):

Ryzen 3700X - OpenBLAS: 83, BLIS: 69, AMD BLIS: 80, MKL: 119

Xeon Gold 6138 - OpenBLAS: 88, BLIS: 52, AMD BLIS: 59, MKL: 128

I guess people avoid AMD's support, because MKL is just much faster? AMD BLIS did add batch GEMM support since then. Didn't have time to try that out yet.

Re:R, OpenMP, MKL, Disaster by gnufx on Sunday October 03, 2021 @03:37PM (#28739892)
I was thinking of the usual complaint about Intel not supporting AMD hardware that is common in HPC.

We don't know what that example was actually measuring, except apparently not the same thing for BLIS and MKL. On the basis of only that, it's not reasonable to say "just so much faster", in particular for what I care about. I have Zen2 measurements (unfortunately only in a VM) using the BLIS test/3 framework. MKL came out nearly as fast as vanilla BLIS 0.7 and OpenBLAS on serial DGEMM, less so on the rest of D level 3, and nowhere close with S, C, and Z. Similarly for one- and two-socket OpenMP. At least in that "2021" version of MKL, there's only a Zen DGEMM kernel.

Re:R, OpenMP, MKL, Disaster by user5994461 on Sunday October 03, 2021 @12:56PM (#28738600)
Have you set the environment variable OPENBLAS_CORETYPE to specify the CPU?
Re:R, OpenMP, MKL, Disaster by danieldk on Sunday October 03, 2021 @02:11PM (#28739195)
I went further than that, I profiled with perf and checked that the right kernels were used.