ChimeraX on Apple M1 CPUs
News just in from ChimeraX team https://www.rbvi.ucsf.edu/chimerax/data/czi-nov2021/apple_m1.html.
We are making a version of our ChimeraX molecular graphics program that runs natively on Apple's new M1 CPUs for faster interactive calculations. We'll report some speed-up timings and describe difficulties porting from Intel to the Apple M1 CPU. A native Apple M1 version of ChimeraX is not yet available, but we expect to release it within 6 months.
Difficulties porting ChimeraX to Apple M1 CPUs
- ChimeraX Python and C++ code needs no changes.
- ChimeraX uses 90 packages developed by others.
- 60 are pure Python from the PyPi repository.
- 30 are binary packages that need Apple M1 versions.
- 6 binary packages do not have Apple M1 distributions: ambertools, h5py, imagecodecs, netcdf4, pytables, scipy.
- Qt 6 window toolkit is distributed for Apple M1 but not Qt 5.
- ChimeraX uses Qt 5, the stable Qt version from 2012 - 2021.
- Qt 6 with html support was released September 2021.
- Apple M1 applications must be either all native M1 binaries or all Intel binaries, no mixing.
- Need to distribute either a large univeral package that includes both Intel and M1 binaries, or two separate ChimeraX versions.
Potential advantages of native Apple M1 ChimeraX
- Better OpenGL driver stability with Apple M1 GPU.
- No graphics driver crashes among 43 ChimeraX bug reports in 2021 with Apple M1.
- About 100 ChimeraX graphics driver crashes reported on Intel Macs in past 2 years.
- Better C++ crash stack traces with native M1 app than with Intel emulation.
- Intel ChimeraX crashes on M1 often give no C++ stack trace.
blog comments powered by Disqus