ParaView on new Macs with M1 chips?

Currently Paraview does not work with the new Mac computers. Are there any plans to make this happen?

3 Likes

Welcome to the ParaView community, Carlos!

@cory.quammen @utkarsh.ayachit What is the plan for the new M1 chip? Has anyone at Kitware tested yet? Schedule (5.10?)?

There is no plan currently :slight_smile: A lot will depend on the need of ParaView’s funders, and those folks tend to be conservative when it comes to adopting new operating systems and hardware. At some point we will obtain M1 hardware and set up a dashboard machine for it, but until then we won’t have a ParaView build directly targeted for that architecture.

I was able to get Paraview 5.5.2 running on my M1 Mac, newer versions crash during startup.

1 Like

I guess with the new M1 chip we will have to stay with an older version that can be run. I’m actually thinking of buying it but I really use Paraview for my activities. @Raymond_Sellevold Does it run the same, slower or faster?

Thanks for making this post to everyone since this is very important i believe, everyone will pass to the new M1 soon

1 Like

Hi all,

@cory.quammen who are these ParaView funders? may be worth pinging them on the matter, as @ronalddith mentioned, many mac users will move to M1 and future generations of this chip and that will be a pity if ParaView does not follow (not to mention that going back to 5.5.2 is not possible for some users).

1 Like

@matthieuvitse Trust me, the funders, the movers and the shakers know about this matter. As Cory stated, many of this group tend to be conservative (i.e., cautious and slow) adopting new operating systems and thus hardware. I am also sure this will eventually get funded and implemented, but very likely not on the “bleeding edge”. My guess is the spring release or the fall 2021 release.

Thank you @wascott for your answer. I understand that building an arm-ready version for these macs may require an extensive amount of resources, however there should be minimal requirements to have something work with rosetta2? At least a lot of other developers seemed to have relatively easily jumped on that on various softwares and applications. I also know it’s easy for non-dev like me to complain :slight_smile:

1 Like

The issue with the latest version relates to Intel’s OSPRay needing libembree3.3.12.0.dylib. Embree is an Intel library and I suspect that it is accelerated using AVX, which is not supported by Rosetta2. The library is built with Intel’s ispc compiler which leverages Intel’s SIMD to the hilt. I doubt Intel has much incentive to support a competitors architecture.

The release notes for 5.6.1 specify the AVX dependency:

Two changes were made in support of OSPRay. The first was to make AVX the minimum supported instruction set. This avoids a bug building Embree on Macs for SSE instruction sets. The second was to copy OSPRay’s headers into the paraview include directory for OSPRay enabled ParaView SDKs.

Can ParaView be run without the Embree functionality?

I have a Github page that evaluates the M1 for neuroimaging applications. It is a pretty compelling platform if you can live without tools like CUDA, Embree and (at least for the moment) do not have heavily threaded workloads or huge RAM demands.

2 Likes

Will Usher describes an AArch64/NEON port of Embree that seems relevant to this discussion.

Any news on support for Apple silicon (M1)?

There is still work that needs to happen to figure out the proper bundling and so on, but the latest 5.9 release works with Rosetta 2 to some extent if you turn off all the avx specific code via the following environment variables.

export VTK_DISABLE_VISRTX=1
export VTK_DISABLE_OSPRAY=1

Also if you build PV locally, it is fine unless you need Python.

Great, thanks! I confirm that this works. Maybe helpful for other readers: I used launchctl to set the variables because otherwise applications do not see them (if not started from a terminal)

launchctl setenv VTK_DISABLE_VISRTX 1
launchctl setenv VTK_DISABLE_OSPRAY 1

@Sebastian: obviously, it would be much more convenient if this could be done automatically or if the App would be compiled without avx. A native version would be great but Rosetta 2 is so much better than nothing…

2 Likes

I agree and we are working toward that but we are behind on other tasks. So far, no one managed to put any time into the M1 build of PV, but it is for sure on our list and we start having more M1 available within Kitware to do so… So it will happen, you just need to be patient unfortunately.

At least you have a work around for now. :wink:

2 Likes

Thank you, that seems to be a good fix for now!

1 Like

The fix seems to be working fine for the most part on a MacBook Air M1, however while trying to use the function “Plot Global Variables Over Time” I’ve stumbled across a graphic bug where the plot only showed nasty artifacts. This problem prevents me from plotting anything. Did anybody experienced this kind of problem and found a way to fix it?

FYI, https://gitlab.kitware.com/paraview/paraview/-/issues/20634

1 Like

Hello! Could someone please describe in more details the steps to run Paraview on M1 chips with the fix that was mentioned in the previous comments, or point me to a relevant post? Thank you

Open your console and run the following

export VTK_DISABLE_VISRTX=1
export VTK_DISABLE_OSPRAY=1
/Applications/ParaView-5.9.0.app/Contents/MacOS/paraview 
2 Likes

For anyone encountering a similar issue on Paraview 5.9, I can confirm that this particular bug has been fixed in the first release candidate of the 5.10 version.

2 Likes