4 ms·
> today AMD has both better designs and, thanks to the fact they fab their chips at TSMC, better processes On paper AMD is better, but in the scientific commun
by umvi 2y ago
> today AMD has both better designs and, thanks to the fact they fab their chips at TSMC, better processes
On paper AMD is better, but in the scientific community, it seems that Intel has much better performance for things like NumPy and SciPy. The reason seems to be "Intel® MKL" (https://en.wikipedia.org/wiki/Math_Kernel_Library https://en.wikipedia.org/wiki/Math_Kernel_Library).
I'm using a lot of weasel words like "seems to" because I haven't rigorously proved it. But anecdotally, my company's AI pipelines which are NumPy/SciPy heavy run an order of magnitude faster (2 seconds vs. 20 seconds) on my laptop's Intel i7 than the do on my Ryzen 7, despite the Ryzen 7 being a newer gen than the i7.
- wmf 2y agoMKL detects non-Intel processors and uses a slow code path.
- sliken 2y agoIndeed, and ignores the CPU feature flags for things like AVX2. There is various hacks, some to the binary (to edit out the if <AMD> then slow) or even just ENV flags. This fixes things like matlab's use of MKL and shows a significant performance increase.
- eigenspace 2y ago> But anecdotally, my company's AI pipelines which are NumPy/SciPy heavy run an order of magnitude faster (2 seconds vs. 20 seconds) on my laptop's Intel i7 than the do on my Ryzen 7, despite the Ryzen 7 being a newer gen than the i7. I very very seriously doubt this is a like-for-like comparison. I suspect one case is multithreaded and the other not, or that one is using generic non-SIMD fallbacks or something like that.
- umvi 2y agoAll I know is, when I run `python3 ai_script.py`, it's much slower if I invoke that command on my Ryzen 7 desktop PC vs. my i7 laptop. I briefly profiled it once, and it seemed like `skimage.measure.label` ran much slower on AMD.