-
Notifications
You must be signed in to change notification settings - Fork 574
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
Added MLX_C (MLX C) #9809
Added MLX_C (MLX C) #9809
Conversation
32c804f
to
b32098f
Compare
Using the current release version, v0.0.10, corresponding to MLX v0.18.0, aarch64-linux-gnu and x86_64-apple-darwin passes, but notably not aarch64-apple-darwin: https://buildkite.com/julialang/yggdrasil/builds/14769 Using the (just approved, 18 Nov 2024) Revamp MLX C API PR, corresponding to the latest MLX release v0.20.0, it's possible to have both x86_64-apple-darwin and, most importantly, aarch64-apple-darwin: https://buildkite.com/julialang/yggdrasil/builds/14771 |
d4f97f9
to
bc175e1
Compare
63ba8f3
to
48963ba
Compare
Added win32-io patch Added cmake-win32 patch Using dlfcn-win32 for cmake to configure on Windows gcc v10 seems adequate Using MLX_jll dependency Updated after merge of mlx-c/pull/44 Updated after merge of mlx-c/pull/38 CMake using MLX from $prefix
a20b029
to
89f257c
Compare
c37e7af
to
fd6c31d
Compare
Enabling FreeBSD.
fd6c31d
to
1d91d99
Compare
M/MLX_C/build_tarballs.jl
Outdated
apple_sdk_root=$WORKSPACE/srcdir/MacOSX14.0.sdk | ||
sed -i "s!/opt/$bb_target/$bb_target/sys-root!$apple_sdk_root!" $CMAKE_TARGET_TOOLCHAIN | ||
sed -i "s!/opt/$bb_target/$bb_target/sys-root!$apple_sdk_root!" /opt/bin/$bb_full_target/$target-clang++ | ||
|
||
export MACOSX_DEPLOYMENT_TARGET=13.3 |
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.
Why using SDK 14.0 but saying that minimum supported target is 13.3? Why not using https://github.com/roblabla/MacOSX-SDKs/releases/tag/13.3 instead?
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.
Using a newer SDK should be fine, you can build for older deployment targets on newer SDKs.
Also, it appears there is a mismatch between the deployment target here and the one in MLX (that this depends on):
[07:36:47] ld64.lld: warning: /workspace/destdir/lib/libmlx.dylib has version 13.5.0, which is newer than target minimum of 13.3.0
Since MLX is using the Python wheel on MacOS, the setting of the compatibility target isn't used at all in that build, so we need to follow whatever the minimum target in the Python wheel is.
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.
I have been using SDK 14.0 in both MLX and this due to this is the version required by MLX upstream (even though it's likely only necessary for the Metal backend which we are not building): https://github.com/search?q=repo%3Aml-explore%2Fmlx%20sdk&type=code
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.
Changed macOS target for aarch64-apple-darwin to 13.5
8340fee
to
a9615b9
Compare
For
This is likely stemming from:
Relates to #9898 (comment) |
Follow-up for #9761
Edit: Using MLX v0.20 (JLL) - and latest MLX C.