4 ms·
I wish people benchmark GEMM performance for all of us math folk.
by gnipgnip 10y ago
I wish people benchmark GEMM performance for all of us math folk.
- deepnotderp 10y agoIirc gemm and float performance isn't very good, since amd made a decision to reduce math performance in order to decrease latency.
- gcp 10y agoIt'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.
- deepnotderp 10y agoWow, who uses 256-bit floats?
- jsheard 10y agoIt doesn't handle 256-bit floats, in this context 256-bit means it can operate on eight 32-bit floats or four 64-bit floats at the same time.
- deepnotderp 10y agoAh, that's what I thought, I was so surprised when i thought you said they had a 256 bit fpu XD I'm dumb. It's interesting that power consumption increases with avx instructions. Do you happen to have a link?
- gcp 10y agohttp://www.intel.com/content/dam/www/public/us/en/documents/white-papers/performance-xeon-e5-v3-advanced-vector-extensions-paper.pdf http://www.intel.com/content/dam/www/public/us/en/documents/...
- gcp 10y agoAh, but what should they benchmark GEMM with? 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 10y agoI'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.
- gcp 10y agoOpenBLAS performance is atrocious in 32 bit mode because it doesn't properly support AVX with the halved register file. Not the most common configuration, but MKL handles it fine (on Intel chips, obviously). That said I agree it makes more sense for AMD to contribute to OpenBLAS than anything else.
- philipkglass 10y agoInteresting -- what are the use cases for single precision BLAS on CPU? All the scientific software I use requires double precision and for tasks that do well with single precision, I would have thought that GPGPU would now be the go-to solution.
- gcp 10y agoNot if you're shipping software to consumers. (Also, I actually meant 32-bit as in the OS, not the floating point precision)