Open tquatmann opened 2 years ago
Hi Tim,
great progress. Could you add an item regarding stormpy on the TODO list. At least it would be good if we have clarity on whether this will work when writing the documentation.
We first need to detect Apple silicon. One option is https://cmake.org/cmake/help/latest/envvar/CMAKE_APPLE_SILICON_PROCESSOR.html#envvar:CMAKE_APPLE_SILICON_PROCESSOR
but that requries CMAKE 3.19.
Thoughts?
Since PRs #323 and #273 are finally merged now, natively building on Apple Silicon should kind of work now. This still needs some testing, though.
Regarding CLN: https://www.ginac.de/pipermail/cln-list/2023-March/000803.html, there seems to be some progress
I'm compiling on Apple Silicon just fine and I can no longer reproduce the issues I had before when using a shipped carl version. I guess that problem solved itself.
The test SparseMaPcaaMultiObjectiveModelCheckerTest.serverRationalNumbers
fails due to an issue in Eigen v3.3.9
. I worked around this in PR #349
CLN support is still lagging behind; one could appearantly install this from git: https://www.ginac.de/pipermail/cln-list/2023-April/000815.html
I have been using this with stormpy now for quite some while :-)
The typical problem that people seem to run into is that libraries compiled for x86/Rosetta are included, which leads to strange errors down the line. I wonder if there is a simple way to spot this during configuration.
It would definitively help resolve https://github.com/moves-rwth/storm/issues/419
Can we add https://github.com/moves-rwth/storm/issues/354 this to the checklist here?
I just installed storm w/ CLN support. Seems to work so far :)
Can we add https://github.com/moves-rwth/storm/issues/523 to the issues?
I propose to document the current state of compiling on apple silicon without emulation in this issue.
How to compile (April 2023)
Storm compiles natively on ARM-based apple silicon processors. However, a few points need to be considered:
Skipcln
andginac
as they do not have an ARM version supported by homebrewcmake
binary (check withwhere cmake
andfile path/to/cmake
)Carl needs to be build without cln and ginac. This should be the default once this PR is mergedThe latest versions of CLN and GiNaC support Apple Silicon.build
folders and invoke the building steps.cmake
output. It might be that cmake found anx86
version of carl or another dependency. Homebrew dependencies should normally be found in/opt/homebrew
, not in/usr/local/
.TODO list for official support:
CMAKE_OSX_ARCHITECTURES
to arm64. Resolved: Appears to work without-DSTORM_FORCE_SHIPPED_CARL=ON
when compiling for arm: carl did not compile due to some eigen related issue.-march=native
does not seem to work yet which is why-DSTORM_PORTABLE
was required for me. ~Also, the jit engine doesn't work for that reason, which also lets the tests fail~ (see PR #292)