MKL? I don't think so, it takes the worst codepath if the chip isn't GenuineIntel.
OpenBLAS? Doesn't have Ryzen support. Doesn't even recognize some AMD cores.
ACML? Wasn't updated since 2013 or so.
This is a serious question. What are you supposed to do if you need a GEMM kernel for Ryzen? I sure hope AMD puts out updated ACML libraries real soon.
I'd like to see benchmarks with OpenBLAS. Unlike ACML it's under active development, unlike MKL it won't deliberately screw AMD performance, and it offers "pretty good" performance across every environment I've tried it in. Good enough that it's not worth paying for MKL, not worth going through ATLAS's self-tuning routine, not worth changing my build scripts to use vecLib under OS X. If OpenBLAS currently runs poorly on Ryzen I hope Ryzen will get some development love, because I kind of hate using ATLAS and at this point it would take a major advantage to tempt me back away from open source components.
It's not so much reduced math performance (it's twice faster than Bulldozer!), it's that Intel chips as of Haswell have dual 256-bit FPUs per core.
If you use them, the Intel chips downclock (sometimes severely) in order not to violate their TDP, but the dual FPUs are still there, and it's still a win for GEMM. I can see why AMD didn't follow along here, but it could be a factor in some small spaces - when you need GEMM but can't use a GPU.
Note that Ryzen can split its 256-bit FPU into two 128-bit units, so on code that's not using AVX, it's completely on par with Intel.
gcp|9 years ago
MKL? I don't think so, it takes the worst codepath if the chip isn't GenuineIntel. OpenBLAS? Doesn't have Ryzen support. Doesn't even recognize some AMD cores. ACML? Wasn't updated since 2013 or so.
This is a serious question. What are you supposed to do if you need a GEMM kernel for Ryzen? I sure hope AMD puts out updated ACML libraries real soon.
philipkglass|9 years ago
deepnotderp|9 years ago
gcp|9 years ago
If you use them, the Intel chips downclock (sometimes severely) in order not to violate their TDP, but the dual FPUs are still there, and it's still a win for GEMM. I can see why AMD didn't follow along here, but it could be a factor in some small spaces - when you need GEMM but can't use a GPU.
Note that Ryzen can split its 256-bit FPU into two 128-bit units, so on code that's not using AVX, it's completely on par with Intel.