1. IMPORTANT:
    We launched a new online community and this space is now closed. This community will be available as a read-only resources until further notice.
    JOIN US HERE

Timeline for Massive X Compatibility with M1 Macs

Discussion in 'MASSIVE + MASSIVE X' started by Xythantiops, Feb 12, 2021.

  1. Xythantiops

    Xythantiops New Member

    Messages:
    10
    Just wondering if there was any timetable for when Massive X will be compatible with M1 Macs. I can't wait to start using it again.
     
  2. Kubrak

    Kubrak NI Product Owner

    Messages:
    1,056
    I cannot speak for Ni, but I guess it might take quite a time. MX uses special AVX instructions, M1 is totally different type of processor most probably not having such type of instructions. So, porting MX to M1 might be pretty difficult if possible....
     
  3. Xythantiops

    Xythantiops New Member

    Messages:
    10
    I appreciate that. It's good to at least know what we're in for in terms of a wait. I really hope that it is in fact possible to port. Since this is the direction Mac is going it would eventually make MX PC only which seems really unfair. I spent a lot of time making presets in MX.
     
  4. Kubrak

    Kubrak NI Product Owner

    Messages:
    1,056
    Well, I looked into it. M1 is not able to run equivalent of AVX instructions. I guess no MX on M1. As well as MX does not run on intel based processors not supporting AVX.

    Maybe I am wrong, but it seems to me MX is no go on M1 chip, ever. :-(
     
  5. Xythantiops

    Xythantiops New Member

    Messages:
    10
    Well I really hope that's not the case and if it is I think that NI will need to find a way to address that and to potentially refund purchases of MX
     
  6. Kubrak

    Kubrak NI Product Owner

    Messages:
    1,056
    NI would have to tell, if there is any chance MX possibly might run on M1 one day.

    As M1 does not support AVX like instructions, it is unlikely MX would run on M1. Because even if NI rewrites the MX code, there would be performance problems without AVX, So, even if NI makes MX run on M1, it will not run well. Simply, M1 does not have enought computing power to run MX well.

    And, concerning refund of purchases. M1 does not meet HW requirements of MX. It is not fault of NI, MX does not run on M1. I bet NI will do the best to solve it. If there is any solution.

    The problem lies in Apple. Pretty much of advanced SW will not run on M1... Or will be slow. Being slow may be OK for computing, but not for realtime tasks like music creation.
     
  7. nanotable

    nanotable NI Product Owner

    Messages:
    44
    This escalated quickly :D

    I can’t speak for NI either, and I’m curious how it will turn out (and when) as well. I’m pretty sure it’s doable. AFAIR someone from NI wrote they have no intention to abandon Massive X. It’s one of their flagship synths, after all.

    Here’s a reality check regarding SIMD instructions on M1 processors: https://lemire.me/blog/2020/12/13/arm-macbook-vs-intel-macbook-a-simd-benchmark/
     
    • Like Like x 1
  8. Xythantiops

    Xythantiops New Member

    Messages:
    10
    I guess my point is that it would be helpful if they would address this more concretely. I can't speak to the ins and outs of CPU architecture but I will say that in my experience thus far the M1 has outperformed my last Intel Mac in a huge way and I'd have a hard time believing that it couldn't run Massive X.
     
    • Like Like x 1
  9. Andrew Stirling

    Andrew Stirling NI Product Owner

    Messages:
    53
    I’m sure it could but probably only with an extensive rewrite. This might be too much effort at present. By the time the install base grows to the point where NI can’t ignore it, we may well be onto a new massive release. It would be good to have a clear statement though so people can make informed choices


    Sent from my iPhone using Tapatalk
     
    • Like Like x 1
  10. Kubrak

    Kubrak NI Product Owner

    Messages:
    1,056
    OK M1 has SIMD instructions, but only 128 bit ones. If MX uses 256 bit instructions, transition to 128 bit may be troublesome... And if it is handcoded
    in assembler, even more troublesome and expensive.

    We will see. May be hard decision how to face it for NI.... Mainly, if newer Apple processors would support 256 bit SIMD instructions, soon....
     
  11. chk071

    chk071 NI Product Owner

    Messages:
    180
    I'm sure they find a way. There's always a way.

    I'm happy I'm not on (one of those new) Macs though... what a nightmare Apple is always creating for software maintaining.
     
  12. Kubrak

    Kubrak NI Product Owner

    Messages:
    1,056
    Well, however there is always a way, some o them are just for tough guys. The both developers and users. I hope, it is not the case for users of M1...

    But for sure, it is not a question of few weeks, probably not even few months...
     
  13. Xythantiops

    Xythantiops New Member

    Messages:
    10
    I will say that MX is the only outstanding software issue I currently face. I was disappointed to not be able to run bootcamp but parallels has a working alternative atm which is in some ways superior to partitioning. In every other way this is by far the best computer I've ever owned but I can certainly imagine the frustration of being a developer with this processor schism unfolding.
     
  14. Matt @ NI

    Matt @ NI NI Team NI Team

    Messages:
    2,445
    • Like Like x 3
  15. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    Massive X uses AVX1 instruction set, which supports both 128-bit and 256-bit SIMD. AFAIK it's not hand-coded assembler (this rarely makes sense these days, considering how advanced C++ compilers have become...)

    That said, there are SIMD cross-conversion libraries (like SIMDe) out there, which do all the trouble of porting between different SIMD sets easier, but you still need to scrub through the whole codebase replacing any hand-written SIMD with SIMDe (or any other such library) calls, then test test test test... If a particular intrinsic is not available on M1 there would be a performance penalty, also... So in that case one would #if ARM or whatnot and hand-code a more performant solution, etc...

    It ain't simple work.
     
    • Informative Informative x 3
    • Like Like x 1
  16. Xythantiops

    Xythantiops New Member

    Messages:
    10
    Thanks for responding Matt. I'm glad that NI aren't abandoning us here and will wait as patiently as I can for more updates. Big fan of MX if that wasn't already clear.
     
    • Like Like x 1
  17. tokenboomer

    tokenboomer NI Product Owner

    Messages:
    29
    I have been waiting for the 3rd party apps to catch up with Big Sur and the Arm chips. I need to upgrade my computer so making sure everything will work on the new machine is important. What's even scarier is Apple releasing a new OS in the fall rendering all the work that NI and other companies have put in on Big Sur potentially irrelevant. With Massive X one wonders at the wisdom of releasing a product that requires so specific an environment to work in, and which will require such a huge rewrite. And will they have to start again in the fall when the new OS comes standard on the new Macs? Thankfully I find Massive X a bit harsh sounding for the music I create so I won't feel the inconvenience to the same degree as others. What this discussion does do is free me up to go ahead with the upgrade since it doesn't appear a re-written MX will make an appearance soon.
     
  18. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    AVX CPU instruction set is less specific than ARM, I would argue. Plus it's been there since 2011...

    Also, a rewrite is not necessary (that would be insane). There are other ways of dealing with vector instructions on ARM.
     
  19. Kubrak

    Kubrak NI Product Owner

    Messages:
    1,056
    As EvilDragon wrote while MX uses extended set of instructions, it is widespread instruction set in any decent pocessor. Those instructions are also present in ARM instruction set, but Apple did not implement them. :-( They need lots of silicon, consume energy, cost money..... Apple has decided to implement only their poor, reduced sibblings. That way, AS CPU is more energy efficient and costs less, but heavily computing tasks may be harder to acomplish...

    MX works much better with those special instructions. Thats why they have been used. I wonder, how it will work on AS.

    I do not understand this Apple thing. It is sort of dictatorship. There are some issues across different Win versions. But it is not uncommon that 25 years old program still runs under latest version of Win.

    "Modding" MX rum on AS has nothing to do with operating systém. If NI makes it run on AS, it will more or less work also on next OS. The main task is porting to AS.
     
  20. EvilDragon

    EvilDragon Well-Known Member

    Messages:
    19,938
    NEON has a lot of the SIMD instructions from SSE and I think also some from AVX. Using a library like SIMDe should help a lot.

    One pretty big difference is that AVX is 256-bit wide, while SIMD on ARM is freeform defined from 128 to 2048 bits, but in 128-bit wide "units", which means that for one AVX instruction, NEON would have to do two.