Behind the Scenes: I just ran Isadora natively on an Apple Silicon M1 ;-)


  • Dear All,

    So today, the universe gave me a nice New Year's Gift: I succeeded in compiling and running Isadora on a mini Mac with an Apple Silicon / M1 ARM chip. I started it up, played some movies, took in some live video, adjusted some things in IzzyMap and the Stage Setup window, and it all looked good.;-)

    Now, before you all go asking WHEN WILL IT COME OUT!!! please keep in mind that these crucial third party libraries -- over which we have no control -- do not have ARM versions:

    • NDI (Seemingly no roadmap announced yet)
    • None of the systems that we use to implement licensing (i.e., the online, USB key, and Sassafras versions)

    Without M1 versions for all of those, we obviously cannot release Isadora for ARM.

    That said, it was promising that I was able to recompile for ARM so easily. Please note that I literally got this working one hour ago, so I have nothing yet to say about performance.

    We will be contacting the creators of the drivers above to find out when they plan to get an Apple Silicon version out and start to make a plan for a release.

    Best Wishes,
    Mark


  • Yummy! Thanks for sharing your efforts -  John

  • Beta Platinum

    @mark

    Thanks for the bright note about Isadora running native on Apple Silicon M1. I would be interested to hear an assessment of performance and about ongoing compatibility, as we know one of the strengths of Isadora has been being able to extend and connect to many other platforms, softwares and devices.

    Best wishes,

    Russell 


  • @bonemap said:

    and about ongoing compatibility

    Not sure what you mean about ongoing compatibility. Can you elaborate?

    Best Wishes,
    Mark

  • Beta Platinum

    @mark

    I mean compatibility with things like OpenNi depth cameras, Artnet, DMX, Javascript, GLSL, serial devices and any other devices and systems that might be disrupted by lagging compatibility with Apple.

    Best Wishes 

    Russell


  • @bonemap said:

    I mean compatibility with things like OpenNi depth cameras, Artnet, DMX, Javascript, GLSL, serial devices and any other devices and systems that might be disrupted by lagging compatibility with Apple.

    Of these, only the skeleton tracking OpenNI system should be affected, because that subsystems of OpenNI cannot be recompiled for Apple Silicon. (Receiving aa depth map reception should, in theory, still work.) But really I want to find an AI empowered replacements for that technology anyway.

    Everything else you mention is either C++ code that can be recompiled for Apple Silicon, or subsystems that will work the same way under that the new chip (e.g., serial communications.)

    Best Wishes,
    Mark

  • Beta Platinum

    @mark

    Hi Mark,

    Thanks for the insight.

    Best wishes

    Russell 

  • Beta Gold

    @mark

    Wow.

    What about performances, MarK I don't want to take a lot of time from you but did you see some performance boosts as everyone says ?


  • @armando said:

    I don't want to take a lot of time from you but did you see some performance boosts as everyone says ?

    I just got Isadora to work on the M1 two days ago, so I cannot say yet. I'm still dealing with stuff like getting all the plugins to compile.

    That said, we're a quick and dirty comparison: playing 4 x Apple Pro Res 422 1920x1080. Here are the results from activity monitor. (Remember, you can have CPU usage higher than 100% for the individual component measurements below because of multiple cores.)

    Mac Book Pro i7:

    • Isadora CPU Usage: 42%
    • Background Movie Player CPU Usage: 20%
    • Apple Pro Res Decode Service CPU Usage: 300%
    • Overall System CPU Usage: 32% (User CPU Usage from Activity Monitor)
    • Isadora LOAD indicator: About 2.1%

    Apple miniMac M1:

    • Isadora CPU Usage: 13%
    • Background Movie Player CPU Usage: approx 30%
    • Apple Pro Res Decode Service CPU Usage: approx 200%
    • Overall System CPU Usage: 33% (User CPU Usage from Activity Monitor)
    • Isadora LOAD indicator: About 1.9%

    So while the Intel numbers are a bit higher for the individual components, the overall system usage is about the same. In the end, I don't really know how to evaluate this simple test. Of course, the minMac is 1/4 the price of my Mac Book Pro, so one could argue you're getting equivalent performance for a much lower price.

    For the moment I think it's critical to keep this one limitation in mind: the current M1 devices only support one display output in addition to their main display. I suppose this limitation could be overcome with a Quad Head 2 Go, DataPath FX 4, etc. But in terms of hooking things up directly, that would make it a no go for my own use in performances.

    Finally, I will mention that someone I am acquainted with did a DaVinci Resolve file using 8K raw files and several layers. Then he rendered this out both on an Intel based MacBook Pro and an Apple Silicon M1 based miniMac to compare the results. (DaVinci was running native M1 version on Apple Silicon.)

    Here's what he said: "Finally did a [DaVinci] Resolve speed test. 3840x3840px (ie ~5k) with 20 secondaries. M1 mini = 9:21. 16” MBP intel = 4:33. Over 2x slower! Big disappointment."

    This conflicts with other DaVinci Resolve tests I've seen posted on the web, but this guy is a video editor and I am giving this test some credence.

    I think there is a lot of hype around this chip. Once we can get M1 machines for the team, we can start evaluating performance. But right now I am cautious about the many claims made on the internet about how amazing these chips are.

    Best Wishes,
    Mark