From 19b73ad41a089fc6f6d0130294b904892cbb2d13 Mon Sep 17 00:00:00 2001 From: pdevre-brierley <61711333+pdevre-brierley@users.noreply.github.com> Date: Mon, 28 Apr 2025 22:27:57 -0400 Subject: [PATCH 1/4] Update README.md First version --- README.md | 47 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 44f84c1..5360bb0 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,19 @@ # ray_mac_dev -Apache Ray containerized developer environment for Mac +### Apache Ray containerized developer environment for Mac +## What is This Repo For? +This repository provides a containerized developer environment for building and developing Ray on Mac using Docker. It is designed to help Mac users set up a consistent, reproducible development environment for Ray, eliminating the need to manually install complex dependencies or manage Python environments locally. +## What Is Ray (2025)? +- Ray is an open-source, Python-native AI compute engine for scaling and orchestrating distributed workloads-including machine learning, data processing, model training, serving, and reinforcement learning-across laptops, clusters, and clouds. +- Ray features a robust ecosystem of libraries (Ray Tune, Ray Serve, RLlib, Ray Data, etc.) for end-to-end AI/ML workflows, and can scale workloads seamlessly from a single machine to thousands of nodes and GPUs. -## Install Docker for Mac +## How Does This Repo Work? +### Install Docker for Mac Install your favourite dev tools for Mac and Docker before proceeding. - -## Clone Apache Ray +### Clone Apache Ray Follow the instructions [here](https://docs.ray.io/en/latest/ray-contribute/development.html#id1) and clone the ray project. @@ -27,8 +32,7 @@ Resolving deltas: 100% (283276/283276), done. Updating files: 100% (8277/8277), done. ``` - -## Build the Ray dev container +### Build the Ray dev container Build the container image running below commands. @@ -48,8 +52,7 @@ srinath.krishnamachari@srinath ray_mac_dev % ``` - -## Run the Ray dev container +### Run the Ray dev container To run the dev container, run the below command. @@ -70,8 +73,7 @@ srinath.krishnamachari@srinath ray_mac_dev % ``` - -## Enter the Ray dev container +### Enter the Ray dev container To enter the dev container, run './devSetup.sh --run' or './devSetup.sh --exec bash'. @@ -95,8 +97,7 @@ See "man sudo_root" for details. srinath_krishnamachari@docker-desktop$ ``` - -## Build Ray +### Build Ray Follow the instructions [here](https://docs.ray.io/en/latest/ray-contribute/development.html#building-ray-on-linux-macos-full) and build the project. Note that the build commands need to be run inside the container. @@ -171,11 +172,29 @@ Successfully installed ray ``` - -## Updating Conda Packages +### Updating Conda Packages Update packages in `env/environment.yml` file and run below command to pull in the new packages in your env. ```sh conda env update --file env/environment.yml ``` + +## Who Should Use This Repo? +- Ray contributors and advanced users on Mac who want to develop or build Ray from source in a clean, reproducible environment. +- Anyone seeking to avoid “dependency hell” or the complexities of configuring a local build environment for Ray on macOS. + +## Benefits +- Consistency: Ensures your development environment matches Ray’s Linux-based CI and production environments. +- Isolation: Keeps your Mac system clean; all dependencies are inside the container. +- Convenience: Automated scripts handle container setup, mounting, and entry. + +## Limitations +** - Not for Ray End-Users:** +This setup is for developing Ray itself, not for running Ray-based applications in production. +** - Requires Docker:** +You must have Docker Desktop running on your Mac. +** - Manual Build Steps:** +You still need to clone Ray and run build commands inside the container. +** - Large Image Size:** +The Docker image is sizable, reflecting the complexity of Ray’s dependencies. From fafbce6583f2a653975214b5a9a3f4420d88df45 Mon Sep 17 00:00:00 2001 From: pdevre-brierley <61711333+pdevre-brierley@users.noreply.github.com> Date: Mon, 28 Apr 2025 22:29:08 -0400 Subject: [PATCH 2/4] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5360bb0..7af76b7 100644 --- a/README.md +++ b/README.md @@ -190,11 +190,11 @@ conda env update --file env/environment.yml - Convenience: Automated scripts handle container setup, mounting, and entry. ## Limitations -** - Not for Ray End-Users:** +- **Not for Ray End-Users:** This setup is for developing Ray itself, not for running Ray-based applications in production. -** - Requires Docker:** +- **Requires Docker:** You must have Docker Desktop running on your Mac. -** - Manual Build Steps:** +- **Manual Build Steps:** You still need to clone Ray and run build commands inside the container. -** - Large Image Size:** +- **Large Image Size:** The Docker image is sizable, reflecting the complexity of Ray’s dependencies. From 771f61540952f82743daba6e37d3e24ac883e5e6 Mon Sep 17 00:00:00 2001 From: pdevre-brierley <61711333+pdevre-brierley@users.noreply.github.com> Date: Mon, 28 Apr 2025 22:37:10 -0400 Subject: [PATCH 3/4] Update README.md --- README.md | 51 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 7af76b7..1eba5a7 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,33 @@ This repository provides a containerized developer environment for building and - Ray is an open-source, Python-native AI compute engine for scaling and orchestrating distributed workloads-including machine learning, data processing, model training, serving, and reinforcement learning-across laptops, clusters, and clouds. - Ray features a robust ecosystem of libraries (Ray Tune, Ray Serve, RLlib, Ray Data, etc.) for end-to-end AI/ML workflows, and can scale workloads seamlessly from a single machine to thousands of nodes and GPUs. +## Who Should Use This Repo? +- **Ray contributors and advanced users on Mac** who want to develop or build Ray from source in a clean, reproducible environment. +- **Anyone seeking to avoid “dependency hell”** or the complexities of configuring a local build environment for Ray on macOS. + +## Benefits +- **Consistency:** Ensures your development environment matches Ray’s Linux-based CI and production environments. +- **Isolation:** Keeps your Mac system clean; all dependencies are inside the container. +- **Convenience:** Automated scripts handle container setup, mounting, and entry. + +## Limitations +- **Not for Ray End-Users:** +This setup is for developing Ray itself, not for running Ray-based applications in production. +- **Requires Docker:** +You must have Docker Desktop running on your Mac. +- **Manual Build Steps:** +You still need to clone Ray and run build commands inside the container. +- **Large Image Size:** +The Docker image is sizable, reflecting the complexity of Ray’s dependencies. + +## Should You Use It? +### Use this repo if: +- You are a Mac user contributing to or building Ray from source. +- You want a reproducible, isolated environment for Ray development. +### You don’t need it if: +- You only want to use Ray (just install with pip install ray). +- You’re on Linux or Windows (though the approach can be adapted). + ## How Does This Repo Work? ### Install Docker for Mac @@ -179,22 +206,10 @@ Update packages in `env/environment.yml` file and run below command to pull in t ```sh conda env update --file env/environment.yml ``` +## References: +- https://www.anyscale.com/product/open-source/ray +- https://www.ray.io/ +- https://docs.ray.io/en/latest/ray-overview/index.html +- https://www.anyscale.com/glossary/what-is-ray +- https://github.com/ray-project/ray -## Who Should Use This Repo? -- Ray contributors and advanced users on Mac who want to develop or build Ray from source in a clean, reproducible environment. -- Anyone seeking to avoid “dependency hell” or the complexities of configuring a local build environment for Ray on macOS. - -## Benefits -- Consistency: Ensures your development environment matches Ray’s Linux-based CI and production environments. -- Isolation: Keeps your Mac system clean; all dependencies are inside the container. -- Convenience: Automated scripts handle container setup, mounting, and entry. - -## Limitations -- **Not for Ray End-Users:** -This setup is for developing Ray itself, not for running Ray-based applications in production. -- **Requires Docker:** -You must have Docker Desktop running on your Mac. -- **Manual Build Steps:** -You still need to clone Ray and run build commands inside the container. -- **Large Image Size:** -The Docker image is sizable, reflecting the complexity of Ray’s dependencies. From ef76ae851d59c0f6f9201bd627753eae4a489702 Mon Sep 17 00:00:00 2001 From: pdevre-brierley <61711333+pdevre-brierley@users.noreply.github.com> Date: Mon, 28 Apr 2025 22:39:04 -0400 Subject: [PATCH 4/4] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1eba5a7..6e128a7 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # ray_mac_dev -### Apache Ray containerized developer environment for Mac +### ~~Apache~~ Ray containerized developer environment for Mac ## What is This Repo For? This repository provides a containerized developer environment for building and developing Ray on Mac using Docker. It is designed to help Mac users set up a consistent, reproducible development environment for Ray, eliminating the need to manually install complex dependencies or manage Python environments locally. -## What Is Ray (2025)? +## What Is Ray? - Ray is an open-source, Python-native AI compute engine for scaling and orchestrating distributed workloads-including machine learning, data processing, model training, serving, and reinforcement learning-across laptops, clusters, and clouds. - Ray features a robust ecosystem of libraries (Ray Tune, Ray Serve, RLlib, Ray Data, etc.) for end-to-end AI/ML workflows, and can scale workloads seamlessly from a single machine to thousands of nodes and GPUs.