By: Maynard Handley (name99.delete@this.name99.org), October 21, 2017 9:55 am
Room: Moderated Discussions
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:
>
> > ...
>
>
>
> Thanks for the interesting information.
>
>
> 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).
>
>
> Other deficiencies of the initial ARMv8 have already been addressed in the later extensions
> (e.g. atomic operations), but I have not heard anything about any plans for bignums.
>
>
This MAY be true, but I don't think it's the real story. My guess is that details like that are, at ABSOLUTE WORST, a 2x or so factor.
The real issue, I think, is that Mathematica probably has a generic bignum codebase written in C, which is based on things like branching to track the overflows; AND an ISA specific codebase for x86 that can track the overflows via the special flags and handle appropriately (move them into integer registers for further arithmetic, and so on).
I see no reason this sort of thing couldn't also be done on ARMv8, but it does require writing a whole lot of assembly, so it's the sort of thing that I can understand them as leaving out for the first release.
Atomics are not relevant. This is not the place to discuss how Mathematica uses multiple cores, but, no, atomic issues are not what are making the bignums slow.
> Maynard Handley (name99.delete@this.name99.org) on October 20, 2017 8:16 pm wrote:
>
> > ...
>
>
>
> Thanks for the interesting information.
>
>
> 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).
>
>
> Other deficiencies of the initial ARMv8 have already been addressed in the later extensions
> (e.g. atomic operations), but I have not heard anything about any plans for bignums.
>
>
This MAY be true, but I don't think it's the real story. My guess is that details like that are, at ABSOLUTE WORST, a 2x or so factor.
The real issue, I think, is that Mathematica probably has a generic bignum codebase written in C, which is based on things like branching to track the overflows; AND an ISA specific codebase for x86 that can track the overflows via the special flags and handle appropriately (move them into integer registers for further arithmetic, and so on).
I see no reason this sort of thing couldn't also be done on ARMv8, but it does require writing a whole lot of assembly, so it's the sort of thing that I can understand them as leaving out for the first release.
Atomics are not relevant. This is not the place to discuss how Mathematica uses multiple cores, but, no, atomic issues are not what are making the bignums slow.
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 |