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

Build ARM wheels for Ray #13780

Closed
wuisawesome opened this issue Jan 29, 2021 · 12 comments · Fixed by #31522
Closed

Build ARM wheels for Ray #13780

wuisawesome opened this issue Jan 29, 2021 · 12 comments · Fixed by #31522
Labels
docs An issue or change related to documentation enhancement Request for new feature and/or capability QS Quantsight triage label

Comments

@wuisawesome
Copy link
Contributor

Due to user demand, we may eventually want to support ARM builds. For now, here are some instructions on how to build ray from source on ARM. This was tested using Ubuntu 20.04 on an AWS Graviton (ARM64) instance.

Building Ray on ARM.

  1. Install the basic Ray dependencies.
sudo apt-get update
sudo apt-get install -y build-essential curl unzip psmisc
sudo apt-get install python3-dev python3-pip python-is-python3

pip install cython==0.29.0 pytest
  1. Install bazel. Bazel doesn't come with an ARM installer script, so our ci/travis/install-bazel.sh doesn't work.
mkdir -p ~/bin
wget https://github.com/bazelbuild/bazel/releases/download/3.7.2/bazel-3.7.2-linux-arm64 -o ~/bin/bazel
chmod u+x ~/bin/bazel
echo "PATH=\$HOME/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
@wuisawesome wuisawesome added the enhancement Request for new feature and/or capability label Jan 29, 2021
@javimontero
Copy link

javimontero commented Mar 10, 2021

Hey @wuisawesome,

I think that you are outputting the output of wget to ~/bin/bazel instead of the binary itself.

Other than that. Have you managed to install ray on Graviton instances? I have building errors and I have no luck.

Thanks in advance.
Javi

@wuisawesome
Copy link
Contributor Author

wuisawesome commented Mar 10, 2021

Yes, I tested this when creating the issue. What issues are you running into?

@nschrader
Copy link

Worked perfectly for me, just one correction like the author of the previous comment already found out:

  1. Install Bazel:
mkdir -p ~/bin
wget https://github.com/bazelbuild/bazel/releases/download/3.7.2/bazel-3.7.2-linux-arm64 -O ~/bin/bazel  # captial -O
chmod u+x ~/bin/bazel
echo "PATH=\$HOME/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
  1. Compile Ray:
cd ~/ray
./build.sh
  1. Build Python wheel (if that's why you are here):
cd ~/ray/python
python3 setup.py bdist_wheel

There it is in ~/ray/python/dist

@ddelange
Copy link
Contributor

Duplicate of #12128 ?

@bveeramani bveeramani added docs An issue or change related to documentation and removed fix-docs labels May 24, 2022
@stale
Copy link

stale bot commented Sep 24, 2022

Hi, I'm a bot from the Ray team :)

To help human contributors to focus on more relevant issues, I will automatically add the stale label to issues that have had no activity for more than 4 months.

If there is no further activity in the 14 days, the issue will be closed!

  • If you'd like to keep the issue open, just leave any comment, and the stale label will be removed!
  • If you'd like to get more attention to the issue, please tag one of Ray's contributors.

You can always ask for help on our discussion forum or Ray's public slack channel.

@stale stale bot added the stale The issue is stale. It will be closed within 7 days unless there are further conversation label Sep 24, 2022
@wuisawesome wuisawesome removed the stale The issue is stale. It will be closed within 7 days unless there are further conversation label Sep 30, 2022
@richardliaw richardliaw added the QS Quantsight triage label label Oct 11, 2022
@mattip
Copy link
Contributor

mattip commented Oct 20, 2022

@richardliaw what action should we take here?

@dmarkey
Copy link

dmarkey commented Dec 29, 2022

With cheap AWS Graviton instances with loads of memory this would be greatly appreciated.

@dmarkey
Copy link

dmarkey commented Jan 2, 2023

ray-2.2.0-cp310-cp310-linux_aarch64.zip

Here is an arm64 wheel for ubuntu 22.04 if anyone is looking for it (YMMV of course).
You need to download and rename to ray-2.2.0-cp310-cp310-linux_aarch64.whl before installing with pip.

@krfricke
Copy link
Contributor

krfricke commented Jan 9, 2023

We are now building wheels for every commit with #31522. We may pick this onto the latest release (2.2.0), alternatively it will be definitely included in the next release.

@jppgks
Copy link

jppgks commented Jan 10, 2023

This is awesome, thanks @krfricke ! Is there any chance of getting a PyPi release for 2.1 as well?

@krfricke
Copy link
Contributor

I'll look into it - generally it should work as 2.1 also uses the new CI system.

@pcmoritz
Copy link
Contributor

@jppgks Why can't you upgrade to 2.2? In general we don't backport features to old releases and encourage people to upgrade instead. If there is a blocker to upgrading, we really want to know :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs An issue or change related to documentation enhancement Request for new feature and/or capability QS Quantsight triage label
Projects
None yet