-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Arm64 (and apple M1) #609
Conversation
Signed-off-by: Marcello Seri <[email protected]>
Signed-off-by: Marcello Seri <[email protected]>
Signed-off-by: Marcello Seri <[email protected]>
Signed-off-by: Marcello Seri <[email protected]>
Signed-off-by: Marcello Seri <[email protected]>
Signed-off-by: Marcello Seri <[email protected]>
Signed-off-by: Marcello Seri <[email protected]>
Signed-off-by: Marcello Seri <[email protected]>
@jzstark can you test on both the mac and thinkpad. It seems I have some compilation issue on one of my thinkpads. I will also dig a bit deeper. |
I tried compiling the code with this PR on my Ubuntu 20.04 desktop, and there are indeed errors and warnings; the current master branch compile normally. Part of the log are pasted below.
|
Thanks to confirm, I saw the same error. Removing that option fixed some errors but there are still some other errors. Probably the main issue is using different version of OCaml. I will try to switch to another version later. |
Super. I guess it depends on the compiler used. Does this new commit fix it? |
Where does |
This fixes a lot of warnings, but the error is still there. (I use OCaml 4.14 and dune 3.0.3.)
|
From here owl/src/owl/config/configure.ml Line 115 in eead31f
Actually, we can simply remove get_devmode_cflags, and move [ "-Wall"; "-pedantic"; "-Wextra"; "-Wunused" ] to owl/src/owl/config/configure.ml Line 253 in eead31f
|
I'll make the change, but that line is there from before my PR. It is strange that it fails now and was not failing before. It would be interesting to understand why |
They break the compilation with some c compilers. See owlbarn#609 Signed-off-by: Marcello Seri <[email protected]>
At some point we should probably get rid of (or rewrite) |
Signed-off-by: Marcello Seri <[email protected]>
I have created the parent PR on eigen, with these the build should work fine on both M1 and x86_64. I am still having some linking issues with eigen since the last macos update. |
Signed-off-by: Marcello Seri <[email protected]>
I can no-longer test this, eigen fails to build for me with the lastest macos compiler upgrade |
Update: I have made a new PR to update the current eigen.0.3.0 build (not using recent dune features which seem to produce linking errors) and backported a fix from eigen to build on clang 3.9. |
Debian now ships lapacke separately, requiring new set of flags for the linking to work. This uses pkg-config to improve the detection of these flags. Furthermore this commit adds a workaround to solve the issue with libgcc11_s not found, which will not be addressed upstream in homebrew for the time being. Signed-off-by: Marcello Seri <[email protected]>
Any news on this? I have been using it fine on various different mac and linux intel and mac ARM cpus for weeks |
This worked for me on a new M1 mac |
I can confirm that this works perfectly well with my M1 Mac on macOS Monterey. |
I've got:
|
Something is off with homebrew. For a similar issue with libgcc one needs to manually fix some paths or create special symlinks |
] | ||
in | ||
(* homebrew M1 issue workaround, works only if users use the default homebrew path *) | ||
let libs = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@samoht something like this one here
Co-authored-by: Thomas Gazagnaire <[email protected]>
Signed-off-by: Marcello Seri <[email protected]>
On my Intel mac the installation procedure in the top post is not working. macos 12.6.2. my homebrew installation of openblas says
so the path is a different one. also, my gfortran libquadmath is in |
Needless to say, the current opam version of owl is also not building. |
See owlbarn#636 Signed-off-by: Marcello Seri <[email protected]>
This is still failing for me with:
|
Try now: |
Thank you, it does work now. |
Running this on an M3 macOS Sonoma 14.2.1 I get this error:
Test case setting up https://github.com/ghennequin/par-matmul-profiling. If you rebase including commits from #630 then it works well. To test try using:
What is required to get this merged and a release of Owl for MacOS/ARM64 onto opam? |
I have merged main to fix the merge conflicts |
@jzstark any progress on getting ARM64 support merged? |
This would be a good sign that owl is indeed being actively maintained, now that the project conclusion was reverted. |
Resubmitting as requested
to try this PR on mac use