By: Doug S (foo.delete@this.bar.bar), October 21, 2017 9:02 am
Room: Moderated Discussions
Wilco (Wilco.Dijkstra.delete@this.ntlworld.com) on October 21, 2017 7:16 am wrote:
> Adrian (a.delete@this.acm.org) on October 21, 2017 1:49 am wrote:
> > Maynard Handley (name99.delete@this.name99.org) on October 20, 2017 8:16 pm wrote:
>
> > The low performance for multi-precision operations is not surprising.
> >
> > While this version of Mathematica can probably be improved a lot, it cannot not reach parity
> > with x86, because this (support for multi-precision operations) is exactly the area were the
> > ARMv8 ISA is the most deficient compared with the x86 ISA (especially since Broadwell, but
> > also Intel since Nehalem & the AMD before Bulldozer were far above any competition).
>
> What essential instructions do you think are missing? It's trivial to do fast bignums on AArch64, so
> adding new instructions cannot give much gain, let alone 20x. Most likely the difference is due to using
> a badly written generic C implementation in one case and hand optimized assembly in the other.
No doubt hand tuned for different x64 implementations as they've changed instruction timings, added new instructions and support for wider SIMD instructions. x86 is where they make almost all their money these days, after all.
Not only would Wolfram need to write some ARMv8 assembly to close the gap, if they wanted to fully close it they'd need to write assembly specific to Apple's ARMv8 family. It is different enough in basic functionality like number of instructions issued/retired per cycle than ARM's standard cores (let alone other custom cores) a single version wouldn't be any more well optimized than trying to write x64 assembly to cover everything from AMD and Intel in the past decade.
> Adrian (a.delete@this.acm.org) on October 21, 2017 1:49 am wrote:
> > Maynard Handley (name99.delete@this.name99.org) on October 20, 2017 8:16 pm wrote:
>
> > The low performance for multi-precision operations is not surprising.
> >
> > While this version of Mathematica can probably be improved a lot, it cannot not reach parity
> > with x86, because this (support for multi-precision operations) is exactly the area were the
> > ARMv8 ISA is the most deficient compared with the x86 ISA (especially since Broadwell, but
> > also Intel since Nehalem & the AMD before Bulldozer were far above any competition).
>
> What essential instructions do you think are missing? It's trivial to do fast bignums on AArch64, so
> adding new instructions cannot give much gain, let alone 20x. Most likely the difference is due to using
> a badly written generic C implementation in one case and hand optimized assembly in the other.
No doubt hand tuned for different x64 implementations as they've changed instruction timings, added new instructions and support for wider SIMD instructions. x86 is where they make almost all their money these days, after all.
Not only would Wolfram need to write some ARMv8 assembly to close the gap, if they wanted to fully close it they'd need to write assembly specific to Apple's ARMv8 family. It is different enough in basic functionality like number of instructions issued/retired per cycle than ARM's standard cores (let alone other custom cores) a single version wouldn't be any more well optimized than trying to write x64 assembly to cover everything from AMD and Intel in the past decade.
Topic | Posted By | Date |
---|---|---|
Mathematica on iPad | Maynard Handley | 2017/10/20 01:34 AM |
Mathematica on iPad | dmcq | 2017/10/20 07:26 AM |
Mathematica on iPad | Maynard Handley | 2017/10/20 01:41 PM |
Mathematica on iPad | Maynard Handley | 2017/10/20 08:16 PM |
Does this give better formatting? | Maynard Handley | 2017/10/20 08:20 PM |
Does this give better formatting? | anon | 2017/10/20 09:37 PM |
Does this give better formatting? | Maynard Handley | 2017/10/20 10:29 PM |
Does this give better formatting? | anon | 2017/10/21 12:52 AM |
Does this give better formatting? | Maynard Handley | 2017/10/21 09:48 AM |
Does this give better formatting? | anon | 2017/10/21 10:01 AM |
Mathematica on iPad | Adrian | 2017/10/21 01:49 AM |
Sorry for the typo | Adrian | 2017/10/21 01:51 AM |
Mathematica on iPad | dmcq | 2017/10/21 07:03 AM |
Mathematica on iPad | Maynard Handley | 2017/10/21 09:58 AM |
Mathematica on iPad | Wilco | 2017/10/21 07:16 AM |
Mathematica on iPad | Doug S | 2017/10/21 09:02 AM |
Mathematica on iPad | Megol | 2017/10/22 05:24 AM |
clang __builtin_addcll | Michael S | 2017/10/21 11:05 AM |
Mathematica on iPad | Maynard Handley | 2017/10/21 09:55 AM |
Mathematica on iPad | Anon | 2017/10/21 04:20 PM |
Mathematica on iPad | Maynard Handley | 2017/10/21 05:51 PM |
Mathematica on iPad | Anon | 2017/10/21 09:56 PM |
Mathematica on iPad | Maynard Handley | 2017/10/22 12:23 AM |
A quick search shows that Mathematica is using Intel MKL | Gabriele Svelto | 2017/10/21 11:38 PM |
A quick search shows that Mathematica is using Intel MKL | Anon | 2017/10/22 05:12 PM |
A quick search shows that Mathematica is using Intel MKL | Maynard Handley | 2017/10/22 06:08 PM |
A quick search shows that Mathematica is using Intel MKL | Doug S | 2017/10/22 10:40 PM |
A quick search shows that Mathematica is using Intel MKL | Michael S | 2017/10/23 05:32 AM |
Mathematica on iPad | none | 2017/10/22 06:06 AM |
Mathematica on iPad | dmcq | 2017/10/23 03:43 AM |