Skip to content

Commit

Permalink
Merge branch 'master' into richo/header-injection
Browse files Browse the repository at this point in the history
  • Loading branch information
richo-anyscale authored Oct 16, 2024
2 parents 3005d7c + 84fde99 commit a702f7f
Show file tree
Hide file tree
Showing 606 changed files with 13,232 additions and 19,003 deletions.
2 changes: 1 addition & 1 deletion .buildkite/core.rayci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ steps:

- label: ":ray: core: python {{matrix.python}} tests ({{matrix.worker_id}})"
if: build.pull_request.labels includes "continuous-build" || pipeline.id == "0189e759-8c96-4302-b6b5-b4274406bf89" || pipeline.id == "018f4f1e-1b73-4906-9802-92422e3badaa"
tags:
tags:
- python
- dashboard
instance_type: large
Expand Down
54 changes: 27 additions & 27 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@
# Authors responsible for copy-editing of the documentation.
# NOTE: Add @ray-project/ray-docs to all following docs subdirs.
/doc/ @ray-project/ray-docs
/doc/source/use-cases.rst @ericl @pcmoritz
/doc/source/use-cases.rst @pcmoritz

# ==== Ray core ====

# API compatibility
/src/ray/protobuf/common.proto @ericl @pcmoritz @raulchen @ray-project/ray-core
/src/ray/protobuf/gcs.proto @ericl @pcmoritz @raulchen @ray-project/ray-core
/src/ray/protobuf/gcs_service.proto @ericl @pcmoritz @raulchen @ray-project/ray-core
/src/ray/protobuf/common.proto @pcmoritz @raulchen @ray-project/ray-core
/src/ray/protobuf/gcs.proto @pcmoritz @raulchen @ray-project/ray-core
/src/ray/protobuf/gcs_service.proto @pcmoritz @raulchen @ray-project/ray-core

# Autoscaler
/python/ray/autoscaler/ @ericl @ray-project/ray-core @architkulkarni @hongchaodeng
/python/ray/autoscaler/ @ray-project/ray-core @hongchaodeng

# Metrics
/src/ray/stats/metric_defs.h @ray-project/ray-core
Expand All @@ -36,7 +36,7 @@
/src/ray/gcs/ @ray-project/ray-core

# Dependencies
/python/setup.py @richardliaw @ericl @edoakes
/python/setup.py @richardliaw @edoakes @aslonnie

# CI
/ci/lint/format.sh @ray-project/ray-ci
Expand All @@ -49,11 +49,11 @@
#!/python/ray/rllib/ @ray-project/ray-core

# Java worker.
/java/dependencies.bzl @kfstorm @raulchen @ericl @WangTaoTheTonic @SongGuyang
/java/pom.xml @kfstorm @raulchen @ericl @WangTaoTheTonic @SongGuyang
/java/pom_template.xml @kfstorm @raulchen @ericl @WangTaoTheTonic @SongGuyang
/java/*/pom_template.xml @kfstorm @raulchen @ericl @WangTaoTheTonic @SongGuyang
/java/api/ @kfstorm @raulchen @ericl @WangTaoTheTonic @SongGuyang
/java/dependencies.bzl @kfstorm @raulchen @WangTaoTheTonic @SongGuyang
/java/pom.xml @kfstorm @raulchen @WangTaoTheTonic @SongGuyang
/java/pom_template.xml @kfstorm @raulchen @WangTaoTheTonic @SongGuyang
/java/*/pom_template.xml @kfstorm @raulchen @WangTaoTheTonic @SongGuyang
/java/api/ @kfstorm @raulchen @WangTaoTheTonic @SongGuyang

# C++ worker
/cpp/include/ray @SongGuyang @raulchen @kfstorm @ray-project/ray-core
Expand All @@ -63,25 +63,25 @@

# Runtime Env
# TODO(SongGuyang): Add new items to guarantee runtime env API compatibility in multiple languages.
/src/ray/protobuf/runtime_env_common.proto @SongGuyang @raulchen @edoakes @architkulkarni @ray-project/ray-core
/src/ray/protobuf/runtime_env_agent.proto @SongGuyang @raulchen @edoakes @architkulkarni @ray-project/ray-core
/src/ray/protobuf/runtime_env_common.proto @SongGuyang @raulchen @edoakes @ray-project/ray-core
/src/ray/protobuf/runtime_env_agent.proto @SongGuyang @raulchen @edoakes @ray-project/ray-core

# ==== Libraries and frameworks ====

# Ray data.
/python/ray/data/ @ericl @scv119 @c21 @amogkam @scottjlee @bveeramani @raulchen @stephanie-wang @omatthew98
/doc/source/data/ @ericl @scv119 @c21 @amogkam @scottjlee @bveeramani @raulchen @stephanie-wang @omatthew98
/python/ray/data/ @scottjlee @bveeramani @raulchen @stephanie-wang @omatthew98
/doc/source/data/ @scottjlee @bveeramani @raulchen @stephanie-wang @omatthew98

# Ray workflows.
/python/ray/workflow/ @ericl @stephanie-wang @suquark
/doc/source/workflows/ @ericl @stephanie-wang @suquark @maxpumperla @ray-project/ray-docs
/python/ray/workflow/ @stephanie-wang
/doc/source/workflows/ @stephanie-wang @maxpumperla @ray-project/ray-docs

# RLlib.
/rllib/ @sven1977 @arturniederfahrenhorst @simonsays1980
/doc/source/rllib/ @sven1977 @arturniederfahrenhorst @maxpumperla @simonsays1980 @ray-project/ray-docs
/rllib/ @sven1977 @simonsays1980
/doc/source/rllib/ @sven1977 @maxpumperla @simonsays1980 @ray-project/ray-docs

# Cluster (docs)
/doc/source/cluster/ @architkulkarni @maxpumperla @pcmoritz @kevin85421 @ray-project/ray-docs
/doc/source/cluster/ @maxpumperla @pcmoritz @kevin85421 @ray-project/ray-docs

# Tune
/python/ray/tune/ @hongpeng-guo @justinvyu @matthewdeng @raulchen @woshiyyya
Expand All @@ -95,16 +95,16 @@
/doc/source/serve/ @edoakes @shrekris-anyscale @zcin @GeneDer @akshay-anyscale @ray-project/ray-docs

# ML Docker Dependencies
/python/requirements/ml/dl-cpu-requirements.txt @amogkam @richardliaw @matthewdeng
/python/requirements/ml/dl-gpu-requirements.txt @amogkam @richardliaw @matthewdeng
/python/requirements/ml/dl-cpu-requirements.txt @richardliaw @matthewdeng
/python/requirements/ml/dl-gpu-requirements.txt @richardliaw @matthewdeng

# Ray symbol export
/src/ray/ray_version_script.lds @ericl @scv119
/src/ray/ray_exported_symbols.lds @ericl @scv119
/src/ray/ray_version_script.lds @aslonnie
/src/ray/ray_exported_symbols.lds @aslonnie

# Ray usage stats
/python/ray/_private/usage/ @ericl @richardliaw @rkooo567 @jjyao
/python/ray/dashboard/modules/usage_stats/ @ericl @richardliaw @rkooo567 @jjyao
/python/ray/_private/usage/ @richardliaw @rkooo567 @jjyao
/python/ray/dashboard/modules/usage_stats/ @richardliaw @rkooo567 @jjyao


# ==== Build and CI ====
Expand All @@ -122,6 +122,6 @@

/release/ray_release @ray-project/ray-ci

/.github/ISSUE_TEMPLATE/ @ericl @stephanie-wang @scv119 @pcmoritz
/.github/ISSUE_TEMPLATE/ @anyscalesam @aslonnie

/.github/workflows/ @ray-project/ray-ci
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ repos:
)
additional_dependencies:
[
types-PyYAML
types-PyYAML==6.0.12.2,
]

- repo: https://github.com/pycqa/isort
Expand Down
2 changes: 2 additions & 0 deletions .vale/styles/config/vocabularies/General/accept.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,5 @@ GKE
namespace
ARM
breakpoint
deduplicate[s]
deduplication
1 change: 1 addition & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -513,6 +513,7 @@ ray_cc_library(
"@boost//:bimap",
"@com_github_grpc_grpc//src/proto/grpc/health/v1:health_proto",
"@com_google_absl//absl/container:btree",
"//src/ray/util:thread_checker",
],
)

Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -137,4 +137,4 @@ Getting Involved
.. _`StackOverflow`: https://stackoverflow.com/questions/tagged/ray
.. _`Meetup Group`: https://www.meetup.com/Bay-Area-Ray-Meetup/
.. _`Twitter`: https://twitter.com/raydistributed
.. _`Slack`: https://forms.gle/9TSdDYUgxYs8SA9e8
.. _`Slack`: https://www.ray.io/join-slack?utm_source=github&utm_medium=ray_readme&utm_campaign=getting_involved
6 changes: 3 additions & 3 deletions ci/env/install-dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -244,9 +244,9 @@ install_pip_packages() {

# For DAG visualization
requirements_packages+=("pydot")
requirements_packages+=("pytesseract")
requirements_packages+=("spacy>=3")
requirements_packages+=("spacy_langdetect")
requirements_packages+=("pytesseract==0.3.13")
requirements_packages+=("spacy==3.7.5")
requirements_packages+=("spacy_langdetect==0.1.2")
fi

# Additional RLlib test dependencies.
Expand Down
17 changes: 13 additions & 4 deletions ci/ray_ci/docker_container.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
]
GPU_PLATFORM = "cu12.1.1-cudnn8"

PYTHON_VERSIONS_RAY = ["3.9", "3.10", "3.11"]
PYTHON_VERSIONS_RAY_ML = ["3.9", "3.10"]
PYTHON_VERSIONS_RAY = ["3.9", "3.10", "3.11", "3.12"]
PYTHON_VERSIONS_RAY_ML = ["3.9", "3.10", "3.11"]
ARCHITECTURES_RAY = ["x86_64", "aarch64"]
ARCHITECTURES_RAY_ML = ["x86_64"]

Expand All @@ -46,6 +46,15 @@ def __init__(
upload: bool = False,
) -> None:
assert "RAYCI_CHECKOUT_DIR" in os.environ, "RAYCI_CHECKOUT_DIR not set"

assert python_version in PYTHON_VERSIONS_RAY
assert platform in PLATFORMS_RAY
assert architecture in ARCHITECTURES_RAY
if image_type == RayType.RAY_ML:
assert python_version in PYTHON_VERSIONS_RAY_ML
assert platform in PLATFORMS_RAY_ML
assert architecture in ARCHITECTURES_RAY_ML

rayci_checkout_dir = os.environ["RAYCI_CHECKOUT_DIR"]
self.python_version = python_version
self.platform = platform
Expand Down Expand Up @@ -122,13 +131,13 @@ def _get_image_tags(self, external: bool = False) -> List[str]:
versions = self._get_image_version_tags(external)

platforms = [self.get_platform_tag()]
if self.platform == "cpu" and self.image_type == "ray":
if self.platform == "cpu" and self.image_type == RayType.RAY:
# no tag is alias to cpu for ray image
platforms.append("")
elif self.platform == GPU_PLATFORM:
# gpu is alias to cu118 for ray image
platforms.append("-gpu")
if self.image_type == "ray-ml":
if self.image_type == RayType.RAY_ML:
# no tag is alias to gpu for ray-ml image
platforms.append("")

Expand Down
5 changes: 3 additions & 2 deletions ci/ray_ci/test_ray_docker_container.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

from ci.ray_ci.builder_container import DEFAULT_PYTHON_VERSION
from ci.ray_ci.container import _DOCKER_ECR_REPO
from ci.ray_ci.docker_container import GPU_PLATFORM
from ci.ray_ci.ray_docker_container import RayDockerContainer
from ci.ray_ci.test_base import RayCITestBase
from ci.ray_ci.utils import RAY_VERSION
Expand Down Expand Up @@ -203,8 +204,8 @@ def test_canonical_tag(self) -> None:
container = RayDockerContainer(v, "cpu", "ray", "aarch64")
assert container._get_canonical_tag() == f"{sha}-{pv}-cpu-aarch64"

container = RayDockerContainer(v, "cu11.8.0-cudnn8", "ray-ml")
assert container._get_canonical_tag() == f"{sha}-{pv}-cu118"
container = RayDockerContainer(v, GPU_PLATFORM, "ray-ml")
assert container._get_canonical_tag() == f"{sha}-{pv}-cu121"

with mock.patch.dict(os.environ, {"BUILDKITE_BRANCH": "releases/1.0.0"}):
container = RayDockerContainer(v, "cpu", "ray")
Expand Down
1 change: 1 addition & 0 deletions doc/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -467,6 +467,7 @@ doctest(
"source/rllib/rllib-sample-collection.rst",
],
),
data = ["//rllib:cartpole-v1_large"],
tags = ["team:rllib"],
)

Expand Down
4 changes: 0 additions & 4 deletions doc/source/_includes/rllib/new_api_stack.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,4 @@
The Ray Team plans to transition algorithms, example scripts, and documentation to the new code base
thereby incrementally replacing the "old API stack" (e.g., ModelV2, Policy, RolloutWorker) throughout the subsequent minor releases leading up to Ray 3.0.

Note, however, that so far only PPO (single- and multi-agent) and SAC (single-agent only)
support the "new API stack" and continue to run by default with the old APIs.
You can continue to use the existing custom (old stack) classes.

:doc:`See here </rllib/rllib-new-api-stack>` for more details on how to use the new API stack.
2 changes: 1 addition & 1 deletion doc/source/_templates/navbar-anyscale.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<a id="try-anyscale-href" href="https://console.anyscale.com">
<a id="try-anyscale-href" href="https://console.anyscale.com/?utm_source=ray_docs&utm_medium=docs&utm_campaign=navbar">
<div id="try-anyscale-text">
<span>Try Ray on Anyscale</span>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@ kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container
# (Method 2) "gcloud container clusters get-credentials <your-cluster-name> --region <your-region> --project <your-project>"
# (Method 3) "kubectl config use-context ..."

# Install both CRDs and KubeRay operator v1.0.0.
# Install both CRDs and KubeRay operator.
helm repo add kuberay https://ray-project.github.io/kuberay-helm/
helm repo update
helm install kuberay-operator kuberay/kuberay-operator --version 1.0.0
helm install kuberay-operator kuberay/kuberay-operator --version 1.2.2

# Create a Ray cluster
kubectl apply -f https://raw.githubusercontent.com/ray-project/ray/master/doc/source/cluster/kubernetes/configs/ray-cluster.gpu.yaml
Expand Down Expand Up @@ -116,7 +116,7 @@ It is optional.
# Create the KubeRay operator
helm repo add kuberay https://ray-project.github.io/kuberay-helm/
helm repo update
helm install kuberay-operator kuberay/kuberay-operator --version 1.0.0
helm install kuberay-operator kuberay/kuberay-operator --version 1.2.2

# Create a Ray cluster
kubectl apply -f https://raw.githubusercontent.com/ray-project/ray/master/doc/source/cluster/kubernetes/configs/ray-cluster.gpu.yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Note that the YAML file in this example uses `serveConfigV2`, which is supported

```sh
# Download `ray-service.mobilenet.yaml`
curl -LO https://raw.githubusercontent.com/ray-project/kuberay/v1.0.0/ray-operator/config/samples/ray-service.mobilenet.yaml
curl -LO https://raw.githubusercontent.com/ray-project/kuberay/v1.2.2/ray-operator/config/samples/ray-service.mobilenet.yaml

# Create a RayService
kubectl apply -f ray-service.mobilenet.yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ The KubeRay operator Pod must be on the CPU node if you have set up the taint fo

## Step 2: Submit the RayJob

Create the RayJob custom resource with [ray-job.batch-inference.yaml](https://github.com/ray-project/kuberay/blob/v1.0.0/ray-operator/config/samples/ray-job.batch-inference.yaml).
Create the RayJob custom resource with [ray-job.batch-inference.yaml](https://github.com/ray-project/kuberay/blob/v1.2.2/ray-operator/config/samples/ray-job.batch-inference.yaml).

Download the file with `curl`:

```bash
curl -LO https://raw.githubusercontent.com/ray-project/kuberay/v1.0.0/ray-operator/config/samples/ray-job.batch-inference.yaml
curl -LO https://raw.githubusercontent.com/ray-project/kuberay/v1.2.2/ray-operator/config/samples/ray-job.batch-inference.yaml
```

Note that the `RayJob` spec contains a spec for the `RayCluster`. This tutorial uses a single-node cluster with 4 GPUs. For production use cases, use a multi-node cluster where the head node doesn't have GPUs, so that Ray can automatically schedule GPU workloads on worker nodes which won't interfere with critical Ray processes on the head node.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Please note that the YAML file in this example uses `serveConfigV2`, which is su

```sh
# Step 3.1: Download `ray-service.stable-diffusion.yaml`
curl -LO https://raw.githubusercontent.com/ray-project/kuberay/v1.0.0/ray-operator/config/samples/ray-service.stable-diffusion.yaml
curl -LO https://raw.githubusercontent.com/ray-project/kuberay/v1.2.2/ray-operator/config/samples/ray-service.stable-diffusion.yaml

# Step 3.2: Create a RayService
kubectl apply -f ray-service.stable-diffusion.yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Please note that the YAML file in this example uses `serveConfigV2`, which is su

```sh
# Step 3.1: Download `ray-service.text-summarizer.yaml`
curl -LO https://raw.githubusercontent.com/ray-project/kuberay/v1.0.0/ray-operator/config/samples/ray-service.text-summarizer.yaml
curl -LO https://raw.githubusercontent.com/ray-project/kuberay/v1.2.2/ray-operator/config/samples/ray-service.text-summarizer.yaml

# Step 3.2: Create a RayService
kubectl apply -f ray-service.text-summarizer.yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ Deploy the KubeRay operator with the [Helm chart repository](https://github.com/
helm repo add kuberay https://ray-project.github.io/kuberay-helm/
helm repo update

# Install both CRDs and KubeRay operator v1.1.1.
helm install kuberay-operator kuberay/kuberay-operator --version 1.1.1
# Install both CRDs and KubeRay operator v1.2.2.
helm install kuberay-operator kuberay/kuberay-operator --version 1.2.2

# Confirm that the operator is running in the namespace `default`.
kubectl get pods
Expand All @@ -46,14 +46,14 @@ Once the KubeRay operator is running, we are ready to deploy a RayCluster. To do
:::{tab-item} ARM64 (Apple Silicon)
```sh
# Deploy a sample RayCluster CR from the KubeRay Helm chart repo:
helm install raycluster kuberay/ray-cluster --version 1.1.1 --set 'image.tag=2.9.0-aarch64'
helm install raycluster kuberay/ray-cluster --version 1.2.2 --set 'image.tag=2.9.0-aarch64'
```
:::

:::{tab-item} x86-64 (Intel/Linux)
```sh
# Deploy a sample RayCluster CR from the KubeRay Helm chart repo:
helm install raycluster kuberay/ray-cluster --version 1.1.1
helm install raycluster kuberay/ray-cluster --version 1.2.2
```
:::

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

* KubeRay v0.6.0 or higher
* KubeRay v0.6.0 or v1.0.0: Ray 1.10 or higher.
* KubeRay v1.1.1 is highly recommended: Ray 2.8.0 or higher. This document is mainly for KubeRay v1.1.1.
* KubeRay v1.1.1 or newer is highly recommended: Ray 2.8.0 or higher.

## What's a RayJob?

Expand Down Expand Up @@ -78,7 +78,7 @@ Follow the [RayCluster Quickstart](kuberay-operator-deploy) to install the lates
## Step 3: Install a RayJob

```sh
kubectl apply -f https://raw.githubusercontent.com/ray-project/kuberay/v1.1.1/ray-operator/config/samples/ray-job.sample.yaml
kubectl apply -f https://raw.githubusercontent.com/ray-project/kuberay/v1.2.2/ray-operator/config/samples/ray-job.sample.yaml
```

## Step 4: Verify the Kubernetes cluster status
Expand Down Expand Up @@ -158,13 +158,13 @@ The Python script `sample_code.py` used by `entrypoint` is a simple Ray script t
## Step 6: Delete the RayJob

```sh
kubectl delete -f https://raw.githubusercontent.com/ray-project/kuberay/v1.1.1/ray-operator/config/samples/ray-job.sample.yaml
kubectl delete -f https://raw.githubusercontent.com/ray-project/kuberay/v1.2.2/ray-operator/config/samples/ray-job.sample.yaml
```

## Step 7: Create a RayJob with `shutdownAfterJobFinishes` set to true

```sh
kubectl apply -f https://raw.githubusercontent.com/ray-project/kuberay/v1.1.1/ray-operator/config/samples/ray-job.shutdown.yaml
kubectl apply -f https://raw.githubusercontent.com/ray-project/kuberay/v1.2.2/ray-operator/config/samples/ray-job.shutdown.yaml
```

The `ray-job.shutdown.yaml` defines a RayJob custom resource with `shutdownAfterJobFinishes: true` and `ttlSecondsAfterFinished: 10`.
Expand Down Expand Up @@ -192,7 +192,7 @@ kubectl get raycluster

```sh
# Step 10.1: Delete the RayJob
kubectl delete -f https://raw.githubusercontent.com/ray-project/kuberay/v1.1.1/ray-operator/config/samples/ray-job.shutdown.yaml
kubectl delete -f https://raw.githubusercontent.com/ray-project/kuberay/v1.2.2/ray-operator/config/samples/ray-job.shutdown.yaml

# Step 10.2: Delete the KubeRay operator
helm uninstall kuberay-operator
Expand Down
Loading

0 comments on commit a702f7f

Please sign in to comment.