-
Notifications
You must be signed in to change notification settings - Fork 277
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
Feature request: Support Apple Silicon M1 on macOS #2023
Comments
Does GitHub Actions support building Apple Silicon binaries? If so it should be relatively easy to get it up and running. No one in the team has the hardware so until that changes or someone donates a machine it'll be up to the community to provide not just answers but also pull requests. |
I have the following concerns about this.
|
This issue is about the STT inference package, or at least I've been operating under that assumption 😅. Training on M1 is out of scope for our project for the reasons you mentioned. |
I was under the wrong assumption then. Thanks Rüben. |
Looks like both libstt.so and the Python package build from source just fine, just need to figure out if we need any massaging of platform names to make things compatible, as the wheel gets created with the
So I guess building a universal |
Cross building from an Intel mac with |
I think I misunderstood the notes, it's only about toolchain binaries. Plus the build is broken on bazel 5.0.0. I guess the easiest way is to do two separate builds, one for x86_64 and one for arm64, and then manually collect the artifacts and call |
So you have the machine now 😂👍🏻 |
Looks like choosing macos-min-version is not enough to select the appropriate version of the SDK on the macos-10.15 workers, need to figure out how to force it. Once that's working, we need to install arm64 version of dependencies linked against, maybe like this: Homebrew/discussions#2843 (reply in thread) |
Aha, bazel ignores xcode-select, you have to pass e.g. |
PR #2100 is building and passing tests, we now have universal builds for libstt.so, libkenlm.so and the |
Also the |
Any progress made with this? I really want to use coqui stt for a project. I tried to follow the guide for building a binary but didn't work out on m1 macbook. If anyone could help me generate the binary on my m1 macbook that would be greatly appreciated as the docs didn't have anything about compiling on an m1 machine. Thank you. I tried emulating with x86_64 either got bad instruction set or if I run it with arm it says mach o file arm64e needed. |
Reading https://twitter.com/coqui_ai/status/1495830121466327043 I was super excited 🤗 but I did NOT manage to get 🐸STT running directly on my M1 Mac. Node.js user here, using the
Weird enough (and hopefully that helps here 🤞), I did manage to run that Node.js server on my M1, but through a multipass Ubuntu virtual machine!
The 👉 @reuben maybe the relevant library exists but Node.js bindings are not up to date just yet? Or I mis-interpreted your tweet and those bindings are just not ready 🙂 I can help reproduce stuff on my M1 machine if that helps you 🤓 Tips & tricks for anyone ending up here and for whom the example still doesn't work:
|
@reuben any news here? Given that tweet was in February, one would hope there would be some officially documented steps (if different than the normal installation method) to install and run it on an M1 Mac, ideally without the complexity of virtual machines as @clorichel described above. |
I may have been able to partially fix the issues on the M1, I managed to build the bindings for darwin-arm64 using the modifications here: https://github.com/phobosdpl/STT/tree/m1_js_bindings and following the instructions here: https://stt.readthedocs.io/en/latest/BUILDING.html on my M1 MacBook Pro. After manually copying those into place on an existing install (I needed to copy the
|
I have no idea what, if anything, has changed but now I seem to be able to complete the process of producing the node bindings (with the branch described above), but attempting to run the app after running npm install on the stt-1.4.0-alpha.1.tgz file produced is giving the error
when hitting the line |
looks like its been another 7 months, wondering if anyone had any luck, or at least could make a list of problems, and some of us contributors could take a stab at fixing them? |
I was about to come here and post about my findings! I have sucessfully compiled and tested coqui for M1 macOS. I was only able to do so with a self-hosted runner in my own machine though, but it should be possible to adapt from there (as there is no M1 server available for coqui as far as I know). Will open a draft PR shortly, and we can find a solution that works for everyone from there :) |
Just to keep you guys updated, had some cleaning up to do to keep x64 support and I have been experiencing several broken URLs on the automated builds lately. Fixed some on my own fork for now, but should take me a couple days more to get all small details sorted. |
Opened a draft PR with the required changes to the build pipeline, but it requires a self-hosted ARM macOS runner. Not sure how this could be made viable, perhaps it would be easier to wait for the github ARM runners to be available. |
Is your feature request related to a problem? Please describe.
It's been over a year since Apple released their M1 Macs, and since then they've released the M1 Pro and Max, which are very powerful for running tensorflow, but there's still no support for them implemented for Coqui.
Describe the solution you'd like
Port Coqui to support running on Apple's M1 Series chips, and/or document the steps to build it manually.
Describe alternatives you've considered
Running Deepspeech in x64 emulation mode with Rosetta doesn't seem to work, and Coqui hasn't added any commits to add support for Apple Silicon.
Additional context
There's some previous discussion about it here and a list of issues here that would seem to mostly have been since resolved, such as tensor flow support.
The text was updated successfully, but these errors were encountered: