4 ms·
I'm really surprised that Apple released Mac ARM cores without SVE. It feels like Neon compat is going to be an albatross for a platform like Mac that can't be
by monocasa 6y ago
I'm really surprised that Apple released Mac ARM cores without SVE. It feels like Neon compat is going to be an albatross for a platform like Mac that can't be quite as a aggressive at removing ISA features as iOS devices can be.
But hey, maybe they just say 'screw it' and remove it anyway.
- Tuna-Fish 6y agoAs Apple and AMD are currently clearly demonstrating, SIMD just really doesn't matter much. Only a portion of the workloads that are commonly used can be profitably vectorized using SIMD. The curiously perverse nature of SIMD is that the wider the vectors, the smaller the proportion of time used by these portions is, and therefore the less you gain from further vector width increases. AMD is currently spanking Intel in almost all practical vector workloads, despite having half the vector width. Apple isn't far off either, despite a quarter of the vector width. It wouldn't really ever significantly hurt Apple if they just literally never implemented any flavor of SVE. Spending all that engineering effort on improving scalar throughput probably has much better real-world payoff.
- monocasa 6y agoThe thing with SVE though is that it's one of those CDC6600 inspired designs like RV-V and ARM Helium that does a much better job abstracting the number of hardware vector lanes. That means way better power consumption at the low end transparently which is very much on Apple's radar.
- TinkersW 6y agoYour example fails to point out why AMD and Apple are able to compete despite having smaller vector widths, and no it isn't because "SIMD just really doesn't matter". It is because AMD and Apple have wider architectures with more vector ports, they can execute 3 or 4 of these instructions per cycle while Intel can only execute 2(or even 1 in some cases with avx512). AMD has already said they will be adding AVX512 to the next zen, so they apparently think SIMD matters. Apple will almost certainly implement SVE, they would be stupid to not do so, and they aren't stupid.
- wtallis 6y agoThe initial lack of SVE strikes me as very similar to the first round of Intel Macs launching with 32-bit only processors. It was 5 years before OS X dropped support for those machines, and 13 years before macOS dropped support for 32-bit applications. I wouldn't be surprised to see Apple accelerate those deadlines a bit this time around, and make macOS start requiring SVE 3-4 years after they introduce supporting hardware. That would probably be the point at which it was appropriate for third-party applications to start requiring SVE-capable hardware. I don't think keeping NEON capability in hardware is going to hold back their chips much, so they probably won't be under any pressure to break compatibility with NEON-using apps anytime soon.
- my123 6y agoWill take much longer than that, because even binaries can be shared between macOS and iOS this round. And the iPhone 12 won’t be out of support in 3 years.
- wtallis 6y agoiOS would only be relevant if Apple was enabling you to run Mac apps on your phone, rather than running iPhone/iPad apps on your Mac. The latter capability does not prevent Mac apps from requiring SVE hardware that phones don't have.
- monocasa 6y agoNo, it's relevant because iOS hardware and apps practically get updated faster. iOS apps that require SVE will be an issue on Macs without SVE.
- Symmetry 6y agoYeah, I really can't see how an SVE port couldn't handle NEON as well with only minor additional effort. If it's a wider than 128 bit port you'll be leaving capacity on the table but the NEON would still run just fine.
- glhaynes 6y agoApple pushes their Accelerate framework pretty heavily as "the" way to do vector stuff rather than directly writing to a SIMD extension. But I don't have a sense of how widely it's used in practice.
- physicsguy 6y agoThey push it but it’s not updated in things people who care about numerical programming care about so they don’t use it. It used to be the case if you used NumPy on a Mac it would use Accelerate but it no longer does because the BLAS/LAPACK API is so outdated.
- glhaynes 6y agoUgh, that sucks. Thanks for the info.