Mathematica on iPad

By: Megol (, October 22, 2017 5:24 am
Room: Moderated Discussions
Doug S ( on October 21, 2017 9:02 am wrote:
> Wilco ( on October 21, 2017 7:16 am wrote:
> > Adrian ( on October 21, 2017 1:49 am wrote:
> > > Maynard Handley ( 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.

Just to be clear: you write this as you have experience in writing such code right?

Because to me, that do not have any experience with large precision math, this seems wrong.
I know that for very large numbers the standard algorithm for multiplication can be changed to one that uses FFTs and iFFTs. But that is used in cases where there may potentially be over 8000(?) significant digits _and_ absolute maximum performance is needed.

In the general case a normal instruction set can be used to generate good performing code without going to assembly language (but it would help). If one can get the compiler to use the carry flag then going to assembly isn't needed at all.

What would assembly provide access to that a modern compiler can't?

< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Mathematica on iPadMaynard Handley2017/10/20 01:34 AM
  Mathematica on iPaddmcq2017/10/20 07:26 AM
    Mathematica on iPadMaynard Handley2017/10/20 01:41 PM
      Mathematica on iPadMaynard Handley2017/10/20 08:16 PM
        Does this give better formatting?Maynard Handley2017/10/20 08:20 PM
          Does this give better formatting?anon2017/10/20 09:37 PM
            Does this give better formatting?Maynard Handley2017/10/20 10:29 PM
              Does this give better formatting?anon2017/10/21 12:52 AM
                Does this give better formatting?Maynard Handley2017/10/21 09:48 AM
                  Does this give better formatting?anon2017/10/21 10:01 AM
        Mathematica on iPadAdrian2017/10/21 01:49 AM
          Sorry for the typoAdrian2017/10/21 01:51 AM
          Mathematica on iPaddmcq2017/10/21 07:03 AM
            Mathematica on iPadMaynard Handley2017/10/21 09:58 AM
          Mathematica on iPadWilco2017/10/21 07:16 AM
            Mathematica on iPadDoug S2017/10/21 09:02 AM
              Mathematica on iPadMegol2017/10/22 05:24 AM
            clang __builtin_addcllMichael S2017/10/21 11:05 AM
          Mathematica on iPadMaynard Handley2017/10/21 09:55 AM
  Mathematica on iPadAnon2017/10/21 04:20 PM
    Mathematica on iPadMaynard Handley2017/10/21 05:51 PM
      Mathematica on iPadAnon2017/10/21 09:56 PM
        Mathematica on iPadMaynard Handley2017/10/22 12:23 AM
      A quick search shows that Mathematica is using Intel MKLGabriele Svelto2017/10/21 11:38 PM
        A quick search shows that Mathematica is using Intel MKLAnon2017/10/22 05:12 PM
          A quick search shows that Mathematica is using Intel MKLMaynard Handley2017/10/22 06:08 PM
            A quick search shows that Mathematica is using Intel MKLDoug S2017/10/22 10:40 PM
            A quick search shows that Mathematica is using Intel MKLMichael S2017/10/23 05:32 AM
  Mathematica on iPadnone2017/10/22 06:06 AM
    Mathematica on iPaddmcq2017/10/23 03:43 AM
Reply to this Topic
Body: No Text
How do you spell avocado?