Skip to content
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

[ML] Disable machine learning on macOS x86_64 #104125

Merged
merged 17 commits into from
Nov 29, 2024

Conversation

droberts195
Copy link
Contributor

As previously advised in #104087, machine learning functionality will no longer be available on macOS x86_64.

Machine learning functionality is still available on macOS by using an arm64 machine (Apple silicon). It is also possible to run Elasticsearch with machine learning functionality within a Docker container on macOS x86_64.

As previously advised in elastic#104087, machine learning functionality
will no longer be available on macOS x86_64.

Machine learning functionality _is_ still available on macOS by
using an arm64 machine (Apple silicon). It is also possible to
run Elasticsearch with machine learning functionality within a
Docker container on macOS x86_64.
@elasticsearchmachine
Copy link
Collaborator

Hi @droberts195, I've created a changelog YAML for you. Note that since this PR is labelled >breaking, you need to update the changelog YAML to fill out the extended information sections.

@droberts195
Copy link
Contributor Author

DO NOT MERGE THIS PR IMMEDIATELY!

This PR should be merged to main after the branch is split for the last minor release scheduled for before December 2024. For example, suppose 8.17.0 is scheduled for release in November 2024 and 8.18.0 is scheduled for release in January 2025. Then this PR should be merged to main after the 8.17 branch is split.

One this PR is merged a followup PR should be opened against the ml-cpp repo to remove the build system for darwin-x86_64. I have confirmed that with this change in place the Elasticsearch build system works with an ml-cpp bundle that does not contain a platform/darwin-x86_64 directory. It still produces an Elasticsearch build that will run providing xpack.ml.enabled is not explicitly set to true.

After the build system for darwin-x86_64 has been removed from the ml-cpp repo, we will be able to do another PyTorch upgrade without having to worry about tweaking the build system to work on Intel macOS.

@edsavage edsavage marked this pull request as ready for review November 21, 2024 01:12
@elasticsearchmachine elasticsearchmachine added the Team:ML Meta label for the ML team label Nov 21, 2024
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/ml-core (Team:ML)

Copy link
Contributor

@valeriy42 valeriy42 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can also remove the deprecation warning in

if ("darwin-x86_64".equals(Platforms.PLATFORM_NAME)) {
as part of this PR.

@edsavage edsavage requested a review from valeriy42 November 27, 2024 23:16
Copy link
Contributor

@edsavage edsavage left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@edsavage edsavage merged commit e54c7cf into elastic:main Nov 29, 2024
4 checks passed
edsavage added a commit to edsavage/elasticsearch that referenced this pull request Nov 29, 2024
As previously advised in elastic#104087, machine learning functionality will no longer be available on macOS x86_64.

Machine learning functionality is still available on macOS by using an arm64 machine (Apple silicon). It is also possible to run Elasticsearch with machine learning functionality within a Docker container on macOS x86_64.

This PR should be merged to main after the branch is split for the last minor release scheduled for before December 2024. For example, suppose 8.17.0 is scheduled for release in November 2024 and 8.18.0 is scheduled for release in January 2025. Then this PR should be merged to main after the 8.17 branch is split.

One this PR is merged a followup PR should be opened against the ml-cpp repo to remove the build system for darwin-x86_64. It has been confirmed that with this change in place the Elasticsearch build system works with an ml-cpp bundle that does not contain a platform/darwin-x86_64 directory. It still produces an Elasticsearch build that will run providing xpack.ml.enabled is not explicitly set to true.

After the build system for darwin-x86_64 has been removed from the ml-cpp repo, we will be able to do another PyTorch upgrade without having to worry about tweaking the build system to work on Intel macOS.
---------

Co-authored-by: Ed Savage <[email protected]>
Co-authored-by: Valeriy Khakhutskyy <[email protected]>
edsavage added a commit to elastic/ml-cpp that referenced this pull request Nov 29, 2024
From version 9.0.0 we drop support for macos x86_64 builds.

Therefore all support for cross compiling for macos x86_64 has also been
dropped.

Macos builds have been migrated to be executed solely on macos 13 (Ventura)
aarch64. In CI, these builds are performed on updated Orka VMs.

In addition, 3rd party dependencies (boost, pytorch) are now baked into
the Orka VM, so downloading these dependencies at run time is no longer
required.

Depends on elastic/elasticsearch#104125
edsavage added a commit that referenced this pull request Nov 29, 2024
As previously advised in #104087, machine learning functionality will no longer be available on macOS x86_64.

Machine learning functionality is still available on macOS by using an arm64 machine (Apple silicon). It is also possible to run Elasticsearch with machine learning functionality within a Docker container on macOS x86_64.

This PR should be merged to main after the branch is split for the last minor release scheduled for before December 2024. For example, suppose 8.17.0 is scheduled for release in November 2024 and 8.18.0 is scheduled for release in January 2025. Then this PR should be merged to main after the 8.17 branch is split.

One this PR is merged a followup PR should be opened against the ml-cpp repo to remove the build system for darwin-x86_64. It has been confirmed that with this change in place the Elasticsearch build system works with an ml-cpp bundle that does not contain a platform/darwin-x86_64 directory. It still produces an Elasticsearch build that will run providing xpack.ml.enabled is not explicitly set to true.

After the build system for darwin-x86_64 has been removed from the ml-cpp repo, we will be able to do another PyTorch upgrade without having to worry about tweaking the build system to work on Intel macOS.

Backports #104125
---------

Co-authored-by: David Roberts <[email protected]>
Co-authored-by: Valeriy Khakhutskyy <[email protected]>
edsavage added a commit to edsavage/ml-cpp that referenced this pull request Dec 6, 2024
From version 9.0.0 we drop support for macos x86_64 builds.

Therefore all support for cross compiling for macos x86_64 has also been
dropped.

Macos builds have been migrated to be executed solely on macos 13 (Ventura)
aarch64. In CI, these builds are performed on updated Orka VMs.

In addition, 3rd party dependencies (boost, pytorch) are now baked into
the Orka VM, so downloading these dependencies at run time is no longer
required.

Depends on elastic/elasticsearch#104125
edsavage added a commit to elastic/ml-cpp that referenced this pull request Dec 9, 2024
From version 8.18.0 we drop support for macos x86_64 builds.

Therefore all support for cross compiling for macos x86_64 has also been
dropped.

Relates elastic/elasticsearch#104125
@droberts195 droberts195 deleted the disable_ml_on_macos_x86_64 branch December 10, 2024 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>breaking :ml Machine learning Team:ML Meta label for the ML team v8.18.0 v9.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants