I used to be a Windows user but recently I found that using MacBook Pro might make my life easier in using Python (Pystan) and command line based computing (cluster computing, cmdstanR). However I heard some bad news on the effect of new M1 chip on some software. Just curious will this affect my user experience or I should still choose the older version with Intel chip?
we do not expect issues there, but until we test on a real machine we wont really know. Cmdstanr and also rstan runs without a problem on Linux + ARM, which will hopefully transfer to macs.
You will definitely have to install all R packages from source for some time as CRAN will not build them until they get a M1 machine. This does not affect cmdstanr but might affect your overall R experience.
R & RStudio will run using the Rosseta 2 dynamic translation from Intel binary to ARM binary for some time. At least until there is a Fortran 90 compiler for the M1 chip. R requires that to build native binaries for M1. Until that happens I expect R/Rstudio to run considerably slower compared to Intel machines.
More info here:
and
The other thing is that M1 will not allow the use of more than 16GB of RAM. But that is not an issue many will hit.
Actually with 8 cores it will be quite easy to fill 16 GB of RAM if doing parallel calculations. Iâve maxed out 64GB RAM on several occasions this way in R. Maybe folks donât run Stan models that big though.
Nice! Though we canât really say how much of that is due to the lightning fast SSDs in the new Macâs. I do expect native M1 code to be faster than Intel in the end.
Based on the tweet we also have a timeframe for the native R for M1: April 2021.
Thanks for the link!
I donât think so, since I built it from the Mac OS Terminal itâs automatically an arm64 executable. Iâve updated my previous post to make that clearer.
I think for the building stan/stan-math/cmdstan from the Rosetta 2 R environment itâs probably better to use arch -arch arm64e make build rather than adjust CXX, as boost gave an error when I tried adjusting CXX and running rebuild_cmdstan(), I guess because it uses more than just the c++ compilerâŚ
I can confirm that the current CmdStan head (a1da476309edae7bbed19866f9ddbc1e16df995c for me) builds correctly out of the box on my M1 Mac. There are a lot of deprecation warnings and some linker warnings, but it doesnât seem to impact functionality. The performance seems excellent (way better than my i9 Intel laptop). I will do some more testing tomorrow.