Add files using upload-large-folder tool
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .venv/lib/python3.11/site-packages/ray/core/generated/__pycache__/autoscaler_pb2.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/core/generated/__pycache__/export_actor_data_pb2.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/core/generated/__pycache__/gcs_service_pb2_grpc.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/core/generated/__pycache__/resource_pb2_grpc.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/core/generated/__pycache__/usage_pb2_grpc.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/core/generated/core_worker_pb2_grpc.py +826 -0
- .venv/lib/python3.11/site-packages/ray/core/generated/export_actor_data_pb2.py +51 -0
- .venv/lib/python3.11/site-packages/ray/core/generated/export_runtime_env_pb2.py +56 -0
- .venv/lib/python3.11/site-packages/ray/core/generated/logging_pb2_grpc.py +4 -0
- .venv/lib/python3.11/site-packages/ray/core/generated/node_manager_pb2.py +534 -0
- .venv/lib/python3.11/site-packages/ray/core/generated/resource_pb2_grpc.py +4 -0
- .venv/lib/python3.11/site-packages/ray/dashboard/client/build/speedscope-1.5.3/README +2 -0
- .venv/lib/python3.11/site-packages/ray/dashboard/client/build/speedscope-1.5.3/favicon-16x16.361d2b26.png +0 -0
- .venv/lib/python3.11/site-packages/ray/dashboard/client/build/speedscope-1.5.3/file-format-schema.json +324 -0
- .venv/lib/python3.11/site-packages/ray/dashboard/client/build/speedscope-1.5.3/import.a03c2bef.js +0 -0
- .venv/lib/python3.11/site-packages/ray/dashboard/client/build/speedscope-1.5.3/index.html +1 -0
- .venv/lib/python3.11/site-packages/ray/dashboard/client/build/speedscope-1.5.3/perf-vertx-stacks-01-collapsed-all.3e0a632c.txt +0 -0
- .venv/lib/python3.11/site-packages/ray/dashboard/client/build/speedscope-1.5.3/reset.7ae984ff.css +1 -0
- .venv/lib/python3.11/site-packages/ray/dashboard/client/build/static/css/main.388a904b.css +2 -0
- .venv/lib/python3.11/site-packages/ray/dashboard/client/build/static/js/main.378317da.js +0 -0
- .venv/lib/python3.11/site-packages/ray/dashboard/client/build/static/js/main.378317da.js.map +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/__init__.py +10 -0
- .venv/lib/python3.11/site-packages/ray/experimental/__pycache__/__init__.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/__pycache__/compiled_dag_ref.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/__pycache__/dynamic_resources.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/__pycache__/gradio_utils.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/__pycache__/internal_kv.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/__pycache__/locations.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/__pycache__/queue.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/__pycache__/shuffle.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/__pycache__/tf_utils.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/__pycache__/tqdm_ray.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/array/__init__.py +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/array/distributed/__init__.py +40 -0
- .venv/lib/python3.11/site-packages/ray/experimental/array/distributed/__pycache__/core.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/array/distributed/core.py +316 -0
- .venv/lib/python3.11/site-packages/ray/experimental/array/distributed/linalg.py +231 -0
- .venv/lib/python3.11/site-packages/ray/experimental/array/distributed/random.py +17 -0
- .venv/lib/python3.11/site-packages/ray/experimental/channel/__pycache__/shared_memory_channel.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/channel/__pycache__/torch_tensor_nccl_channel.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/channel/auto_transport_type.py +167 -0
- .venv/lib/python3.11/site-packages/ray/experimental/channel/cached_channel.py +111 -0
- .venv/lib/python3.11/site-packages/ray/experimental/channel/intra_process_channel.py +70 -0
- .venv/lib/python3.11/site-packages/ray/experimental/channel/serialization_context.py +174 -0
- .venv/lib/python3.11/site-packages/ray/experimental/compiled_dag_ref.py +227 -0
- .venv/lib/python3.11/site-packages/ray/experimental/gradio_utils.py +12 -0
- .venv/lib/python3.11/site-packages/ray/experimental/internal_kv.py +121 -0
- .venv/lib/python3.11/site-packages/ray/experimental/job/example_job/__init__.py +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/job/example_job/__pycache__/__init__.cpython-311.pyc +0 -0
- .venv/lib/python3.11/site-packages/ray/experimental/job/example_job/__pycache__/demo_script.cpython-311.pyc +0 -0
.venv/lib/python3.11/site-packages/ray/core/generated/__pycache__/autoscaler_pb2.cpython-311.pyc
ADDED
|
Binary file (20.2 kB). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/core/generated/__pycache__/export_actor_data_pb2.cpython-311.pyc
ADDED
|
Binary file (3.01 kB). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/core/generated/__pycache__/gcs_service_pb2_grpc.cpython-311.pyc
ADDED
|
Binary file (74.4 kB). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/core/generated/__pycache__/resource_pb2_grpc.cpython-311.pyc
ADDED
|
Binary file (309 Bytes). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/core/generated/__pycache__/usage_pb2_grpc.cpython-311.pyc
ADDED
|
Binary file (306 Bytes). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/core/generated/core_worker_pb2_grpc.py
ADDED
|
@@ -0,0 +1,826 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
| 2 |
+
"""Client and server classes corresponding to protobuf-defined services."""
|
| 3 |
+
import grpc
|
| 4 |
+
|
| 5 |
+
from . import core_worker_pb2 as src_dot_ray_dot_protobuf_dot_core__worker__pb2
|
| 6 |
+
from . import pubsub_pb2 as src_dot_ray_dot_protobuf_dot_pubsub__pb2
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
class CoreWorkerServiceStub(object):
|
| 10 |
+
"""Missing associated documentation comment in .proto file."""
|
| 11 |
+
|
| 12 |
+
def __init__(self, channel):
|
| 13 |
+
"""Constructor.
|
| 14 |
+
|
| 15 |
+
Args:
|
| 16 |
+
channel: A grpc.Channel.
|
| 17 |
+
"""
|
| 18 |
+
self.RayletNotifyGCSRestart = channel.unary_unary(
|
| 19 |
+
'/ray.rpc.CoreWorkerService/RayletNotifyGCSRestart',
|
| 20 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RayletNotifyGCSRestartRequest.SerializeToString,
|
| 21 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RayletNotifyGCSRestartReply.FromString,
|
| 22 |
+
)
|
| 23 |
+
self.PushTask = channel.unary_unary(
|
| 24 |
+
'/ray.rpc.CoreWorkerService/PushTask',
|
| 25 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.PushTaskRequest.SerializeToString,
|
| 26 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.PushTaskReply.FromString,
|
| 27 |
+
)
|
| 28 |
+
self.DirectActorCallArgWaitComplete = channel.unary_unary(
|
| 29 |
+
'/ray.rpc.CoreWorkerService/DirectActorCallArgWaitComplete',
|
| 30 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.DirectActorCallArgWaitCompleteRequest.SerializeToString,
|
| 31 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.DirectActorCallArgWaitCompleteReply.FromString,
|
| 32 |
+
)
|
| 33 |
+
self.GetObjectStatus = channel.unary_unary(
|
| 34 |
+
'/ray.rpc.CoreWorkerService/GetObjectStatus',
|
| 35 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetObjectStatusRequest.SerializeToString,
|
| 36 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetObjectStatusReply.FromString,
|
| 37 |
+
)
|
| 38 |
+
self.WaitForActorRefDeleted = channel.unary_unary(
|
| 39 |
+
'/ray.rpc.CoreWorkerService/WaitForActorRefDeleted',
|
| 40 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.WaitForActorRefDeletedRequest.SerializeToString,
|
| 41 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.WaitForActorRefDeletedReply.FromString,
|
| 42 |
+
)
|
| 43 |
+
self.PubsubLongPolling = channel.unary_unary(
|
| 44 |
+
'/ray.rpc.CoreWorkerService/PubsubLongPolling',
|
| 45 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_pubsub__pb2.PubsubLongPollingRequest.SerializeToString,
|
| 46 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_pubsub__pb2.PubsubLongPollingReply.FromString,
|
| 47 |
+
)
|
| 48 |
+
self.ReportGeneratorItemReturns = channel.unary_unary(
|
| 49 |
+
'/ray.rpc.CoreWorkerService/ReportGeneratorItemReturns',
|
| 50 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.ReportGeneratorItemReturnsRequest.SerializeToString,
|
| 51 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.ReportGeneratorItemReturnsReply.FromString,
|
| 52 |
+
)
|
| 53 |
+
self.PubsubCommandBatch = channel.unary_unary(
|
| 54 |
+
'/ray.rpc.CoreWorkerService/PubsubCommandBatch',
|
| 55 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_pubsub__pb2.PubsubCommandBatchRequest.SerializeToString,
|
| 56 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_pubsub__pb2.PubsubCommandBatchReply.FromString,
|
| 57 |
+
)
|
| 58 |
+
self.UpdateObjectLocationBatch = channel.unary_unary(
|
| 59 |
+
'/ray.rpc.CoreWorkerService/UpdateObjectLocationBatch',
|
| 60 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.UpdateObjectLocationBatchRequest.SerializeToString,
|
| 61 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.UpdateObjectLocationBatchReply.FromString,
|
| 62 |
+
)
|
| 63 |
+
self.GetObjectLocationsOwner = channel.unary_unary(
|
| 64 |
+
'/ray.rpc.CoreWorkerService/GetObjectLocationsOwner',
|
| 65 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetObjectLocationsOwnerRequest.SerializeToString,
|
| 66 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetObjectLocationsOwnerReply.FromString,
|
| 67 |
+
)
|
| 68 |
+
self.KillActor = channel.unary_unary(
|
| 69 |
+
'/ray.rpc.CoreWorkerService/KillActor',
|
| 70 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.KillActorRequest.SerializeToString,
|
| 71 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.KillActorReply.FromString,
|
| 72 |
+
)
|
| 73 |
+
self.CancelTask = channel.unary_unary(
|
| 74 |
+
'/ray.rpc.CoreWorkerService/CancelTask',
|
| 75 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.CancelTaskRequest.SerializeToString,
|
| 76 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.CancelTaskReply.FromString,
|
| 77 |
+
)
|
| 78 |
+
self.RemoteCancelTask = channel.unary_unary(
|
| 79 |
+
'/ray.rpc.CoreWorkerService/RemoteCancelTask',
|
| 80 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RemoteCancelTaskRequest.SerializeToString,
|
| 81 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RemoteCancelTaskReply.FromString,
|
| 82 |
+
)
|
| 83 |
+
self.GetCoreWorkerStats = channel.unary_unary(
|
| 84 |
+
'/ray.rpc.CoreWorkerService/GetCoreWorkerStats',
|
| 85 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetCoreWorkerStatsRequest.SerializeToString,
|
| 86 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetCoreWorkerStatsReply.FromString,
|
| 87 |
+
)
|
| 88 |
+
self.LocalGC = channel.unary_unary(
|
| 89 |
+
'/ray.rpc.CoreWorkerService/LocalGC',
|
| 90 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.LocalGCRequest.SerializeToString,
|
| 91 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.LocalGCReply.FromString,
|
| 92 |
+
)
|
| 93 |
+
self.DeleteObjects = channel.unary_unary(
|
| 94 |
+
'/ray.rpc.CoreWorkerService/DeleteObjects',
|
| 95 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.DeleteObjectsRequest.SerializeToString,
|
| 96 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.DeleteObjectsReply.FromString,
|
| 97 |
+
)
|
| 98 |
+
self.SpillObjects = channel.unary_unary(
|
| 99 |
+
'/ray.rpc.CoreWorkerService/SpillObjects',
|
| 100 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.SpillObjectsRequest.SerializeToString,
|
| 101 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.SpillObjectsReply.FromString,
|
| 102 |
+
)
|
| 103 |
+
self.RestoreSpilledObjects = channel.unary_unary(
|
| 104 |
+
'/ray.rpc.CoreWorkerService/RestoreSpilledObjects',
|
| 105 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RestoreSpilledObjectsRequest.SerializeToString,
|
| 106 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RestoreSpilledObjectsReply.FromString,
|
| 107 |
+
)
|
| 108 |
+
self.DeleteSpilledObjects = channel.unary_unary(
|
| 109 |
+
'/ray.rpc.CoreWorkerService/DeleteSpilledObjects',
|
| 110 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.DeleteSpilledObjectsRequest.SerializeToString,
|
| 111 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.DeleteSpilledObjectsReply.FromString,
|
| 112 |
+
)
|
| 113 |
+
self.PlasmaObjectReady = channel.unary_unary(
|
| 114 |
+
'/ray.rpc.CoreWorkerService/PlasmaObjectReady',
|
| 115 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.PlasmaObjectReadyRequest.SerializeToString,
|
| 116 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.PlasmaObjectReadyReply.FromString,
|
| 117 |
+
)
|
| 118 |
+
self.Exit = channel.unary_unary(
|
| 119 |
+
'/ray.rpc.CoreWorkerService/Exit',
|
| 120 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.ExitRequest.SerializeToString,
|
| 121 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.ExitReply.FromString,
|
| 122 |
+
)
|
| 123 |
+
self.AssignObjectOwner = channel.unary_unary(
|
| 124 |
+
'/ray.rpc.CoreWorkerService/AssignObjectOwner',
|
| 125 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.AssignObjectOwnerRequest.SerializeToString,
|
| 126 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.AssignObjectOwnerReply.FromString,
|
| 127 |
+
)
|
| 128 |
+
self.NumPendingTasks = channel.unary_unary(
|
| 129 |
+
'/ray.rpc.CoreWorkerService/NumPendingTasks',
|
| 130 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.NumPendingTasksRequest.SerializeToString,
|
| 131 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.NumPendingTasksReply.FromString,
|
| 132 |
+
)
|
| 133 |
+
self.RegisterMutableObjectReader = channel.unary_unary(
|
| 134 |
+
'/ray.rpc.CoreWorkerService/RegisterMutableObjectReader',
|
| 135 |
+
request_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RegisterMutableObjectReaderRequest.SerializeToString,
|
| 136 |
+
response_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RegisterMutableObjectReaderReply.FromString,
|
| 137 |
+
)
|
| 138 |
+
|
| 139 |
+
|
| 140 |
+
class CoreWorkerServiceServicer(object):
|
| 141 |
+
"""Missing associated documentation comment in .proto file."""
|
| 142 |
+
|
| 143 |
+
def RayletNotifyGCSRestart(self, request, context):
|
| 144 |
+
"""Missing associated documentation comment in .proto file."""
|
| 145 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 146 |
+
context.set_details('Method not implemented!')
|
| 147 |
+
raise NotImplementedError('Method not implemented!')
|
| 148 |
+
|
| 149 |
+
def PushTask(self, request, context):
|
| 150 |
+
"""Missing associated documentation comment in .proto file."""
|
| 151 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 152 |
+
context.set_details('Method not implemented!')
|
| 153 |
+
raise NotImplementedError('Method not implemented!')
|
| 154 |
+
|
| 155 |
+
def DirectActorCallArgWaitComplete(self, request, context):
|
| 156 |
+
"""Missing associated documentation comment in .proto file."""
|
| 157 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 158 |
+
context.set_details('Method not implemented!')
|
| 159 |
+
raise NotImplementedError('Method not implemented!')
|
| 160 |
+
|
| 161 |
+
def GetObjectStatus(self, request, context):
|
| 162 |
+
"""Missing associated documentation comment in .proto file."""
|
| 163 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 164 |
+
context.set_details('Method not implemented!')
|
| 165 |
+
raise NotImplementedError('Method not implemented!')
|
| 166 |
+
|
| 167 |
+
def WaitForActorRefDeleted(self, request, context):
|
| 168 |
+
"""Missing associated documentation comment in .proto file."""
|
| 169 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 170 |
+
context.set_details('Method not implemented!')
|
| 171 |
+
raise NotImplementedError('Method not implemented!')
|
| 172 |
+
|
| 173 |
+
def PubsubLongPolling(self, request, context):
|
| 174 |
+
"""Missing associated documentation comment in .proto file."""
|
| 175 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 176 |
+
context.set_details('Method not implemented!')
|
| 177 |
+
raise NotImplementedError('Method not implemented!')
|
| 178 |
+
|
| 179 |
+
def ReportGeneratorItemReturns(self, request, context):
|
| 180 |
+
"""Missing associated documentation comment in .proto file."""
|
| 181 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 182 |
+
context.set_details('Method not implemented!')
|
| 183 |
+
raise NotImplementedError('Method not implemented!')
|
| 184 |
+
|
| 185 |
+
def PubsubCommandBatch(self, request, context):
|
| 186 |
+
"""Missing associated documentation comment in .proto file."""
|
| 187 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 188 |
+
context.set_details('Method not implemented!')
|
| 189 |
+
raise NotImplementedError('Method not implemented!')
|
| 190 |
+
|
| 191 |
+
def UpdateObjectLocationBatch(self, request, context):
|
| 192 |
+
"""Missing associated documentation comment in .proto file."""
|
| 193 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 194 |
+
context.set_details('Method not implemented!')
|
| 195 |
+
raise NotImplementedError('Method not implemented!')
|
| 196 |
+
|
| 197 |
+
def GetObjectLocationsOwner(self, request, context):
|
| 198 |
+
"""Missing associated documentation comment in .proto file."""
|
| 199 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 200 |
+
context.set_details('Method not implemented!')
|
| 201 |
+
raise NotImplementedError('Method not implemented!')
|
| 202 |
+
|
| 203 |
+
def KillActor(self, request, context):
|
| 204 |
+
"""Missing associated documentation comment in .proto file."""
|
| 205 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 206 |
+
context.set_details('Method not implemented!')
|
| 207 |
+
raise NotImplementedError('Method not implemented!')
|
| 208 |
+
|
| 209 |
+
def CancelTask(self, request, context):
|
| 210 |
+
"""Missing associated documentation comment in .proto file."""
|
| 211 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 212 |
+
context.set_details('Method not implemented!')
|
| 213 |
+
raise NotImplementedError('Method not implemented!')
|
| 214 |
+
|
| 215 |
+
def RemoteCancelTask(self, request, context):
|
| 216 |
+
"""Missing associated documentation comment in .proto file."""
|
| 217 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 218 |
+
context.set_details('Method not implemented!')
|
| 219 |
+
raise NotImplementedError('Method not implemented!')
|
| 220 |
+
|
| 221 |
+
def GetCoreWorkerStats(self, request, context):
|
| 222 |
+
"""Missing associated documentation comment in .proto file."""
|
| 223 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 224 |
+
context.set_details('Method not implemented!')
|
| 225 |
+
raise NotImplementedError('Method not implemented!')
|
| 226 |
+
|
| 227 |
+
def LocalGC(self, request, context):
|
| 228 |
+
"""Missing associated documentation comment in .proto file."""
|
| 229 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 230 |
+
context.set_details('Method not implemented!')
|
| 231 |
+
raise NotImplementedError('Method not implemented!')
|
| 232 |
+
|
| 233 |
+
def DeleteObjects(self, request, context):
|
| 234 |
+
"""Missing associated documentation comment in .proto file."""
|
| 235 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 236 |
+
context.set_details('Method not implemented!')
|
| 237 |
+
raise NotImplementedError('Method not implemented!')
|
| 238 |
+
|
| 239 |
+
def SpillObjects(self, request, context):
|
| 240 |
+
"""Missing associated documentation comment in .proto file."""
|
| 241 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 242 |
+
context.set_details('Method not implemented!')
|
| 243 |
+
raise NotImplementedError('Method not implemented!')
|
| 244 |
+
|
| 245 |
+
def RestoreSpilledObjects(self, request, context):
|
| 246 |
+
"""Missing associated documentation comment in .proto file."""
|
| 247 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 248 |
+
context.set_details('Method not implemented!')
|
| 249 |
+
raise NotImplementedError('Method not implemented!')
|
| 250 |
+
|
| 251 |
+
def DeleteSpilledObjects(self, request, context):
|
| 252 |
+
"""Missing associated documentation comment in .proto file."""
|
| 253 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 254 |
+
context.set_details('Method not implemented!')
|
| 255 |
+
raise NotImplementedError('Method not implemented!')
|
| 256 |
+
|
| 257 |
+
def PlasmaObjectReady(self, request, context):
|
| 258 |
+
"""Missing associated documentation comment in .proto file."""
|
| 259 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 260 |
+
context.set_details('Method not implemented!')
|
| 261 |
+
raise NotImplementedError('Method not implemented!')
|
| 262 |
+
|
| 263 |
+
def Exit(self, request, context):
|
| 264 |
+
"""Missing associated documentation comment in .proto file."""
|
| 265 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 266 |
+
context.set_details('Method not implemented!')
|
| 267 |
+
raise NotImplementedError('Method not implemented!')
|
| 268 |
+
|
| 269 |
+
def AssignObjectOwner(self, request, context):
|
| 270 |
+
"""Missing associated documentation comment in .proto file."""
|
| 271 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 272 |
+
context.set_details('Method not implemented!')
|
| 273 |
+
raise NotImplementedError('Method not implemented!')
|
| 274 |
+
|
| 275 |
+
def NumPendingTasks(self, request, context):
|
| 276 |
+
"""Missing associated documentation comment in .proto file."""
|
| 277 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 278 |
+
context.set_details('Method not implemented!')
|
| 279 |
+
raise NotImplementedError('Method not implemented!')
|
| 280 |
+
|
| 281 |
+
def RegisterMutableObjectReader(self, request, context):
|
| 282 |
+
"""Missing associated documentation comment in .proto file."""
|
| 283 |
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
| 284 |
+
context.set_details('Method not implemented!')
|
| 285 |
+
raise NotImplementedError('Method not implemented!')
|
| 286 |
+
|
| 287 |
+
|
| 288 |
+
def add_CoreWorkerServiceServicer_to_server(servicer, server):
|
| 289 |
+
rpc_method_handlers = {
|
| 290 |
+
'RayletNotifyGCSRestart': grpc.unary_unary_rpc_method_handler(
|
| 291 |
+
servicer.RayletNotifyGCSRestart,
|
| 292 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RayletNotifyGCSRestartRequest.FromString,
|
| 293 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RayletNotifyGCSRestartReply.SerializeToString,
|
| 294 |
+
),
|
| 295 |
+
'PushTask': grpc.unary_unary_rpc_method_handler(
|
| 296 |
+
servicer.PushTask,
|
| 297 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.PushTaskRequest.FromString,
|
| 298 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.PushTaskReply.SerializeToString,
|
| 299 |
+
),
|
| 300 |
+
'DirectActorCallArgWaitComplete': grpc.unary_unary_rpc_method_handler(
|
| 301 |
+
servicer.DirectActorCallArgWaitComplete,
|
| 302 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.DirectActorCallArgWaitCompleteRequest.FromString,
|
| 303 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.DirectActorCallArgWaitCompleteReply.SerializeToString,
|
| 304 |
+
),
|
| 305 |
+
'GetObjectStatus': grpc.unary_unary_rpc_method_handler(
|
| 306 |
+
servicer.GetObjectStatus,
|
| 307 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetObjectStatusRequest.FromString,
|
| 308 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetObjectStatusReply.SerializeToString,
|
| 309 |
+
),
|
| 310 |
+
'WaitForActorRefDeleted': grpc.unary_unary_rpc_method_handler(
|
| 311 |
+
servicer.WaitForActorRefDeleted,
|
| 312 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.WaitForActorRefDeletedRequest.FromString,
|
| 313 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.WaitForActorRefDeletedReply.SerializeToString,
|
| 314 |
+
),
|
| 315 |
+
'PubsubLongPolling': grpc.unary_unary_rpc_method_handler(
|
| 316 |
+
servicer.PubsubLongPolling,
|
| 317 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_pubsub__pb2.PubsubLongPollingRequest.FromString,
|
| 318 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_pubsub__pb2.PubsubLongPollingReply.SerializeToString,
|
| 319 |
+
),
|
| 320 |
+
'ReportGeneratorItemReturns': grpc.unary_unary_rpc_method_handler(
|
| 321 |
+
servicer.ReportGeneratorItemReturns,
|
| 322 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.ReportGeneratorItemReturnsRequest.FromString,
|
| 323 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.ReportGeneratorItemReturnsReply.SerializeToString,
|
| 324 |
+
),
|
| 325 |
+
'PubsubCommandBatch': grpc.unary_unary_rpc_method_handler(
|
| 326 |
+
servicer.PubsubCommandBatch,
|
| 327 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_pubsub__pb2.PubsubCommandBatchRequest.FromString,
|
| 328 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_pubsub__pb2.PubsubCommandBatchReply.SerializeToString,
|
| 329 |
+
),
|
| 330 |
+
'UpdateObjectLocationBatch': grpc.unary_unary_rpc_method_handler(
|
| 331 |
+
servicer.UpdateObjectLocationBatch,
|
| 332 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.UpdateObjectLocationBatchRequest.FromString,
|
| 333 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.UpdateObjectLocationBatchReply.SerializeToString,
|
| 334 |
+
),
|
| 335 |
+
'GetObjectLocationsOwner': grpc.unary_unary_rpc_method_handler(
|
| 336 |
+
servicer.GetObjectLocationsOwner,
|
| 337 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetObjectLocationsOwnerRequest.FromString,
|
| 338 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetObjectLocationsOwnerReply.SerializeToString,
|
| 339 |
+
),
|
| 340 |
+
'KillActor': grpc.unary_unary_rpc_method_handler(
|
| 341 |
+
servicer.KillActor,
|
| 342 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.KillActorRequest.FromString,
|
| 343 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.KillActorReply.SerializeToString,
|
| 344 |
+
),
|
| 345 |
+
'CancelTask': grpc.unary_unary_rpc_method_handler(
|
| 346 |
+
servicer.CancelTask,
|
| 347 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.CancelTaskRequest.FromString,
|
| 348 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.CancelTaskReply.SerializeToString,
|
| 349 |
+
),
|
| 350 |
+
'RemoteCancelTask': grpc.unary_unary_rpc_method_handler(
|
| 351 |
+
servicer.RemoteCancelTask,
|
| 352 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RemoteCancelTaskRequest.FromString,
|
| 353 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RemoteCancelTaskReply.SerializeToString,
|
| 354 |
+
),
|
| 355 |
+
'GetCoreWorkerStats': grpc.unary_unary_rpc_method_handler(
|
| 356 |
+
servicer.GetCoreWorkerStats,
|
| 357 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetCoreWorkerStatsRequest.FromString,
|
| 358 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetCoreWorkerStatsReply.SerializeToString,
|
| 359 |
+
),
|
| 360 |
+
'LocalGC': grpc.unary_unary_rpc_method_handler(
|
| 361 |
+
servicer.LocalGC,
|
| 362 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.LocalGCRequest.FromString,
|
| 363 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.LocalGCReply.SerializeToString,
|
| 364 |
+
),
|
| 365 |
+
'DeleteObjects': grpc.unary_unary_rpc_method_handler(
|
| 366 |
+
servicer.DeleteObjects,
|
| 367 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.DeleteObjectsRequest.FromString,
|
| 368 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.DeleteObjectsReply.SerializeToString,
|
| 369 |
+
),
|
| 370 |
+
'SpillObjects': grpc.unary_unary_rpc_method_handler(
|
| 371 |
+
servicer.SpillObjects,
|
| 372 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.SpillObjectsRequest.FromString,
|
| 373 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.SpillObjectsReply.SerializeToString,
|
| 374 |
+
),
|
| 375 |
+
'RestoreSpilledObjects': grpc.unary_unary_rpc_method_handler(
|
| 376 |
+
servicer.RestoreSpilledObjects,
|
| 377 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RestoreSpilledObjectsRequest.FromString,
|
| 378 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RestoreSpilledObjectsReply.SerializeToString,
|
| 379 |
+
),
|
| 380 |
+
'DeleteSpilledObjects': grpc.unary_unary_rpc_method_handler(
|
| 381 |
+
servicer.DeleteSpilledObjects,
|
| 382 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.DeleteSpilledObjectsRequest.FromString,
|
| 383 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.DeleteSpilledObjectsReply.SerializeToString,
|
| 384 |
+
),
|
| 385 |
+
'PlasmaObjectReady': grpc.unary_unary_rpc_method_handler(
|
| 386 |
+
servicer.PlasmaObjectReady,
|
| 387 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.PlasmaObjectReadyRequest.FromString,
|
| 388 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.PlasmaObjectReadyReply.SerializeToString,
|
| 389 |
+
),
|
| 390 |
+
'Exit': grpc.unary_unary_rpc_method_handler(
|
| 391 |
+
servicer.Exit,
|
| 392 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.ExitRequest.FromString,
|
| 393 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.ExitReply.SerializeToString,
|
| 394 |
+
),
|
| 395 |
+
'AssignObjectOwner': grpc.unary_unary_rpc_method_handler(
|
| 396 |
+
servicer.AssignObjectOwner,
|
| 397 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.AssignObjectOwnerRequest.FromString,
|
| 398 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.AssignObjectOwnerReply.SerializeToString,
|
| 399 |
+
),
|
| 400 |
+
'NumPendingTasks': grpc.unary_unary_rpc_method_handler(
|
| 401 |
+
servicer.NumPendingTasks,
|
| 402 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.NumPendingTasksRequest.FromString,
|
| 403 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.NumPendingTasksReply.SerializeToString,
|
| 404 |
+
),
|
| 405 |
+
'RegisterMutableObjectReader': grpc.unary_unary_rpc_method_handler(
|
| 406 |
+
servicer.RegisterMutableObjectReader,
|
| 407 |
+
request_deserializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RegisterMutableObjectReaderRequest.FromString,
|
| 408 |
+
response_serializer=src_dot_ray_dot_protobuf_dot_core__worker__pb2.RegisterMutableObjectReaderReply.SerializeToString,
|
| 409 |
+
),
|
| 410 |
+
}
|
| 411 |
+
generic_handler = grpc.method_handlers_generic_handler(
|
| 412 |
+
'ray.rpc.CoreWorkerService', rpc_method_handlers)
|
| 413 |
+
server.add_generic_rpc_handlers((generic_handler,))
|
| 414 |
+
|
| 415 |
+
|
| 416 |
+
# This class is part of an EXPERIMENTAL API.
|
| 417 |
+
class CoreWorkerService(object):
|
| 418 |
+
"""Missing associated documentation comment in .proto file."""
|
| 419 |
+
|
| 420 |
+
@staticmethod
|
| 421 |
+
def RayletNotifyGCSRestart(request,
|
| 422 |
+
target,
|
| 423 |
+
options=(),
|
| 424 |
+
channel_credentials=None,
|
| 425 |
+
call_credentials=None,
|
| 426 |
+
insecure=False,
|
| 427 |
+
compression=None,
|
| 428 |
+
wait_for_ready=None,
|
| 429 |
+
timeout=None,
|
| 430 |
+
metadata=None):
|
| 431 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/RayletNotifyGCSRestart',
|
| 432 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.RayletNotifyGCSRestartRequest.SerializeToString,
|
| 433 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.RayletNotifyGCSRestartReply.FromString,
|
| 434 |
+
options, channel_credentials,
|
| 435 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 436 |
+
|
| 437 |
+
@staticmethod
|
| 438 |
+
def PushTask(request,
|
| 439 |
+
target,
|
| 440 |
+
options=(),
|
| 441 |
+
channel_credentials=None,
|
| 442 |
+
call_credentials=None,
|
| 443 |
+
insecure=False,
|
| 444 |
+
compression=None,
|
| 445 |
+
wait_for_ready=None,
|
| 446 |
+
timeout=None,
|
| 447 |
+
metadata=None):
|
| 448 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/PushTask',
|
| 449 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.PushTaskRequest.SerializeToString,
|
| 450 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.PushTaskReply.FromString,
|
| 451 |
+
options, channel_credentials,
|
| 452 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 453 |
+
|
| 454 |
+
@staticmethod
|
| 455 |
+
def DirectActorCallArgWaitComplete(request,
|
| 456 |
+
target,
|
| 457 |
+
options=(),
|
| 458 |
+
channel_credentials=None,
|
| 459 |
+
call_credentials=None,
|
| 460 |
+
insecure=False,
|
| 461 |
+
compression=None,
|
| 462 |
+
wait_for_ready=None,
|
| 463 |
+
timeout=None,
|
| 464 |
+
metadata=None):
|
| 465 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/DirectActorCallArgWaitComplete',
|
| 466 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.DirectActorCallArgWaitCompleteRequest.SerializeToString,
|
| 467 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.DirectActorCallArgWaitCompleteReply.FromString,
|
| 468 |
+
options, channel_credentials,
|
| 469 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 470 |
+
|
| 471 |
+
@staticmethod
|
| 472 |
+
def GetObjectStatus(request,
|
| 473 |
+
target,
|
| 474 |
+
options=(),
|
| 475 |
+
channel_credentials=None,
|
| 476 |
+
call_credentials=None,
|
| 477 |
+
insecure=False,
|
| 478 |
+
compression=None,
|
| 479 |
+
wait_for_ready=None,
|
| 480 |
+
timeout=None,
|
| 481 |
+
metadata=None):
|
| 482 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/GetObjectStatus',
|
| 483 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetObjectStatusRequest.SerializeToString,
|
| 484 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetObjectStatusReply.FromString,
|
| 485 |
+
options, channel_credentials,
|
| 486 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 487 |
+
|
| 488 |
+
@staticmethod
|
| 489 |
+
def WaitForActorRefDeleted(request,
|
| 490 |
+
target,
|
| 491 |
+
options=(),
|
| 492 |
+
channel_credentials=None,
|
| 493 |
+
call_credentials=None,
|
| 494 |
+
insecure=False,
|
| 495 |
+
compression=None,
|
| 496 |
+
wait_for_ready=None,
|
| 497 |
+
timeout=None,
|
| 498 |
+
metadata=None):
|
| 499 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/WaitForActorRefDeleted',
|
| 500 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.WaitForActorRefDeletedRequest.SerializeToString,
|
| 501 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.WaitForActorRefDeletedReply.FromString,
|
| 502 |
+
options, channel_credentials,
|
| 503 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 504 |
+
|
| 505 |
+
@staticmethod
|
| 506 |
+
def PubsubLongPolling(request,
|
| 507 |
+
target,
|
| 508 |
+
options=(),
|
| 509 |
+
channel_credentials=None,
|
| 510 |
+
call_credentials=None,
|
| 511 |
+
insecure=False,
|
| 512 |
+
compression=None,
|
| 513 |
+
wait_for_ready=None,
|
| 514 |
+
timeout=None,
|
| 515 |
+
metadata=None):
|
| 516 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/PubsubLongPolling',
|
| 517 |
+
src_dot_ray_dot_protobuf_dot_pubsub__pb2.PubsubLongPollingRequest.SerializeToString,
|
| 518 |
+
src_dot_ray_dot_protobuf_dot_pubsub__pb2.PubsubLongPollingReply.FromString,
|
| 519 |
+
options, channel_credentials,
|
| 520 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 521 |
+
|
| 522 |
+
@staticmethod
|
| 523 |
+
def ReportGeneratorItemReturns(request,
|
| 524 |
+
target,
|
| 525 |
+
options=(),
|
| 526 |
+
channel_credentials=None,
|
| 527 |
+
call_credentials=None,
|
| 528 |
+
insecure=False,
|
| 529 |
+
compression=None,
|
| 530 |
+
wait_for_ready=None,
|
| 531 |
+
timeout=None,
|
| 532 |
+
metadata=None):
|
| 533 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/ReportGeneratorItemReturns',
|
| 534 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.ReportGeneratorItemReturnsRequest.SerializeToString,
|
| 535 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.ReportGeneratorItemReturnsReply.FromString,
|
| 536 |
+
options, channel_credentials,
|
| 537 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 538 |
+
|
| 539 |
+
@staticmethod
|
| 540 |
+
def PubsubCommandBatch(request,
|
| 541 |
+
target,
|
| 542 |
+
options=(),
|
| 543 |
+
channel_credentials=None,
|
| 544 |
+
call_credentials=None,
|
| 545 |
+
insecure=False,
|
| 546 |
+
compression=None,
|
| 547 |
+
wait_for_ready=None,
|
| 548 |
+
timeout=None,
|
| 549 |
+
metadata=None):
|
| 550 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/PubsubCommandBatch',
|
| 551 |
+
src_dot_ray_dot_protobuf_dot_pubsub__pb2.PubsubCommandBatchRequest.SerializeToString,
|
| 552 |
+
src_dot_ray_dot_protobuf_dot_pubsub__pb2.PubsubCommandBatchReply.FromString,
|
| 553 |
+
options, channel_credentials,
|
| 554 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 555 |
+
|
| 556 |
+
@staticmethod
|
| 557 |
+
def UpdateObjectLocationBatch(request,
|
| 558 |
+
target,
|
| 559 |
+
options=(),
|
| 560 |
+
channel_credentials=None,
|
| 561 |
+
call_credentials=None,
|
| 562 |
+
insecure=False,
|
| 563 |
+
compression=None,
|
| 564 |
+
wait_for_ready=None,
|
| 565 |
+
timeout=None,
|
| 566 |
+
metadata=None):
|
| 567 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/UpdateObjectLocationBatch',
|
| 568 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.UpdateObjectLocationBatchRequest.SerializeToString,
|
| 569 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.UpdateObjectLocationBatchReply.FromString,
|
| 570 |
+
options, channel_credentials,
|
| 571 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 572 |
+
|
| 573 |
+
@staticmethod
|
| 574 |
+
def GetObjectLocationsOwner(request,
|
| 575 |
+
target,
|
| 576 |
+
options=(),
|
| 577 |
+
channel_credentials=None,
|
| 578 |
+
call_credentials=None,
|
| 579 |
+
insecure=False,
|
| 580 |
+
compression=None,
|
| 581 |
+
wait_for_ready=None,
|
| 582 |
+
timeout=None,
|
| 583 |
+
metadata=None):
|
| 584 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/GetObjectLocationsOwner',
|
| 585 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetObjectLocationsOwnerRequest.SerializeToString,
|
| 586 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetObjectLocationsOwnerReply.FromString,
|
| 587 |
+
options, channel_credentials,
|
| 588 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 589 |
+
|
| 590 |
+
@staticmethod
|
| 591 |
+
def KillActor(request,
|
| 592 |
+
target,
|
| 593 |
+
options=(),
|
| 594 |
+
channel_credentials=None,
|
| 595 |
+
call_credentials=None,
|
| 596 |
+
insecure=False,
|
| 597 |
+
compression=None,
|
| 598 |
+
wait_for_ready=None,
|
| 599 |
+
timeout=None,
|
| 600 |
+
metadata=None):
|
| 601 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/KillActor',
|
| 602 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.KillActorRequest.SerializeToString,
|
| 603 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.KillActorReply.FromString,
|
| 604 |
+
options, channel_credentials,
|
| 605 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 606 |
+
|
| 607 |
+
@staticmethod
|
| 608 |
+
def CancelTask(request,
|
| 609 |
+
target,
|
| 610 |
+
options=(),
|
| 611 |
+
channel_credentials=None,
|
| 612 |
+
call_credentials=None,
|
| 613 |
+
insecure=False,
|
| 614 |
+
compression=None,
|
| 615 |
+
wait_for_ready=None,
|
| 616 |
+
timeout=None,
|
| 617 |
+
metadata=None):
|
| 618 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/CancelTask',
|
| 619 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.CancelTaskRequest.SerializeToString,
|
| 620 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.CancelTaskReply.FromString,
|
| 621 |
+
options, channel_credentials,
|
| 622 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 623 |
+
|
| 624 |
+
@staticmethod
|
| 625 |
+
def RemoteCancelTask(request,
|
| 626 |
+
target,
|
| 627 |
+
options=(),
|
| 628 |
+
channel_credentials=None,
|
| 629 |
+
call_credentials=None,
|
| 630 |
+
insecure=False,
|
| 631 |
+
compression=None,
|
| 632 |
+
wait_for_ready=None,
|
| 633 |
+
timeout=None,
|
| 634 |
+
metadata=None):
|
| 635 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/RemoteCancelTask',
|
| 636 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.RemoteCancelTaskRequest.SerializeToString,
|
| 637 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.RemoteCancelTaskReply.FromString,
|
| 638 |
+
options, channel_credentials,
|
| 639 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 640 |
+
|
| 641 |
+
@staticmethod
|
| 642 |
+
def GetCoreWorkerStats(request,
|
| 643 |
+
target,
|
| 644 |
+
options=(),
|
| 645 |
+
channel_credentials=None,
|
| 646 |
+
call_credentials=None,
|
| 647 |
+
insecure=False,
|
| 648 |
+
compression=None,
|
| 649 |
+
wait_for_ready=None,
|
| 650 |
+
timeout=None,
|
| 651 |
+
metadata=None):
|
| 652 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/GetCoreWorkerStats',
|
| 653 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetCoreWorkerStatsRequest.SerializeToString,
|
| 654 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.GetCoreWorkerStatsReply.FromString,
|
| 655 |
+
options, channel_credentials,
|
| 656 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 657 |
+
|
| 658 |
+
@staticmethod
|
| 659 |
+
def LocalGC(request,
|
| 660 |
+
target,
|
| 661 |
+
options=(),
|
| 662 |
+
channel_credentials=None,
|
| 663 |
+
call_credentials=None,
|
| 664 |
+
insecure=False,
|
| 665 |
+
compression=None,
|
| 666 |
+
wait_for_ready=None,
|
| 667 |
+
timeout=None,
|
| 668 |
+
metadata=None):
|
| 669 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/LocalGC',
|
| 670 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.LocalGCRequest.SerializeToString,
|
| 671 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.LocalGCReply.FromString,
|
| 672 |
+
options, channel_credentials,
|
| 673 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 674 |
+
|
| 675 |
+
@staticmethod
|
| 676 |
+
def DeleteObjects(request,
|
| 677 |
+
target,
|
| 678 |
+
options=(),
|
| 679 |
+
channel_credentials=None,
|
| 680 |
+
call_credentials=None,
|
| 681 |
+
insecure=False,
|
| 682 |
+
compression=None,
|
| 683 |
+
wait_for_ready=None,
|
| 684 |
+
timeout=None,
|
| 685 |
+
metadata=None):
|
| 686 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/DeleteObjects',
|
| 687 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.DeleteObjectsRequest.SerializeToString,
|
| 688 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.DeleteObjectsReply.FromString,
|
| 689 |
+
options, channel_credentials,
|
| 690 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 691 |
+
|
| 692 |
+
@staticmethod
|
| 693 |
+
def SpillObjects(request,
|
| 694 |
+
target,
|
| 695 |
+
options=(),
|
| 696 |
+
channel_credentials=None,
|
| 697 |
+
call_credentials=None,
|
| 698 |
+
insecure=False,
|
| 699 |
+
compression=None,
|
| 700 |
+
wait_for_ready=None,
|
| 701 |
+
timeout=None,
|
| 702 |
+
metadata=None):
|
| 703 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/SpillObjects',
|
| 704 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.SpillObjectsRequest.SerializeToString,
|
| 705 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.SpillObjectsReply.FromString,
|
| 706 |
+
options, channel_credentials,
|
| 707 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 708 |
+
|
| 709 |
+
@staticmethod
|
| 710 |
+
def RestoreSpilledObjects(request,
|
| 711 |
+
target,
|
| 712 |
+
options=(),
|
| 713 |
+
channel_credentials=None,
|
| 714 |
+
call_credentials=None,
|
| 715 |
+
insecure=False,
|
| 716 |
+
compression=None,
|
| 717 |
+
wait_for_ready=None,
|
| 718 |
+
timeout=None,
|
| 719 |
+
metadata=None):
|
| 720 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/RestoreSpilledObjects',
|
| 721 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.RestoreSpilledObjectsRequest.SerializeToString,
|
| 722 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.RestoreSpilledObjectsReply.FromString,
|
| 723 |
+
options, channel_credentials,
|
| 724 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 725 |
+
|
| 726 |
+
@staticmethod
|
| 727 |
+
def DeleteSpilledObjects(request,
|
| 728 |
+
target,
|
| 729 |
+
options=(),
|
| 730 |
+
channel_credentials=None,
|
| 731 |
+
call_credentials=None,
|
| 732 |
+
insecure=False,
|
| 733 |
+
compression=None,
|
| 734 |
+
wait_for_ready=None,
|
| 735 |
+
timeout=None,
|
| 736 |
+
metadata=None):
|
| 737 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/DeleteSpilledObjects',
|
| 738 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.DeleteSpilledObjectsRequest.SerializeToString,
|
| 739 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.DeleteSpilledObjectsReply.FromString,
|
| 740 |
+
options, channel_credentials,
|
| 741 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 742 |
+
|
| 743 |
+
@staticmethod
|
| 744 |
+
def PlasmaObjectReady(request,
|
| 745 |
+
target,
|
| 746 |
+
options=(),
|
| 747 |
+
channel_credentials=None,
|
| 748 |
+
call_credentials=None,
|
| 749 |
+
insecure=False,
|
| 750 |
+
compression=None,
|
| 751 |
+
wait_for_ready=None,
|
| 752 |
+
timeout=None,
|
| 753 |
+
metadata=None):
|
| 754 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/PlasmaObjectReady',
|
| 755 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.PlasmaObjectReadyRequest.SerializeToString,
|
| 756 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.PlasmaObjectReadyReply.FromString,
|
| 757 |
+
options, channel_credentials,
|
| 758 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 759 |
+
|
| 760 |
+
@staticmethod
|
| 761 |
+
def Exit(request,
|
| 762 |
+
target,
|
| 763 |
+
options=(),
|
| 764 |
+
channel_credentials=None,
|
| 765 |
+
call_credentials=None,
|
| 766 |
+
insecure=False,
|
| 767 |
+
compression=None,
|
| 768 |
+
wait_for_ready=None,
|
| 769 |
+
timeout=None,
|
| 770 |
+
metadata=None):
|
| 771 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/Exit',
|
| 772 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.ExitRequest.SerializeToString,
|
| 773 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.ExitReply.FromString,
|
| 774 |
+
options, channel_credentials,
|
| 775 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 776 |
+
|
| 777 |
+
@staticmethod
|
| 778 |
+
def AssignObjectOwner(request,
|
| 779 |
+
target,
|
| 780 |
+
options=(),
|
| 781 |
+
channel_credentials=None,
|
| 782 |
+
call_credentials=None,
|
| 783 |
+
insecure=False,
|
| 784 |
+
compression=None,
|
| 785 |
+
wait_for_ready=None,
|
| 786 |
+
timeout=None,
|
| 787 |
+
metadata=None):
|
| 788 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/AssignObjectOwner',
|
| 789 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.AssignObjectOwnerRequest.SerializeToString,
|
| 790 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.AssignObjectOwnerReply.FromString,
|
| 791 |
+
options, channel_credentials,
|
| 792 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 793 |
+
|
| 794 |
+
@staticmethod
|
| 795 |
+
def NumPendingTasks(request,
|
| 796 |
+
target,
|
| 797 |
+
options=(),
|
| 798 |
+
channel_credentials=None,
|
| 799 |
+
call_credentials=None,
|
| 800 |
+
insecure=False,
|
| 801 |
+
compression=None,
|
| 802 |
+
wait_for_ready=None,
|
| 803 |
+
timeout=None,
|
| 804 |
+
metadata=None):
|
| 805 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/NumPendingTasks',
|
| 806 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.NumPendingTasksRequest.SerializeToString,
|
| 807 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.NumPendingTasksReply.FromString,
|
| 808 |
+
options, channel_credentials,
|
| 809 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
| 810 |
+
|
| 811 |
+
@staticmethod
|
| 812 |
+
def RegisterMutableObjectReader(request,
|
| 813 |
+
target,
|
| 814 |
+
options=(),
|
| 815 |
+
channel_credentials=None,
|
| 816 |
+
call_credentials=None,
|
| 817 |
+
insecure=False,
|
| 818 |
+
compression=None,
|
| 819 |
+
wait_for_ready=None,
|
| 820 |
+
timeout=None,
|
| 821 |
+
metadata=None):
|
| 822 |
+
return grpc.experimental.unary_unary(request, target, '/ray.rpc.CoreWorkerService/RegisterMutableObjectReader',
|
| 823 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.RegisterMutableObjectReaderRequest.SerializeToString,
|
| 824 |
+
src_dot_ray_dot_protobuf_dot_core__worker__pb2.RegisterMutableObjectReaderReply.FromString,
|
| 825 |
+
options, channel_credentials,
|
| 826 |
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
.venv/lib/python3.11/site-packages/ray/core/generated/export_actor_data_pb2.py
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# -*- coding: utf-8 -*-
|
| 2 |
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
| 3 |
+
# source: src/ray/protobuf/export_api/export_actor_data.proto
|
| 4 |
+
"""Generated protocol buffer code."""
|
| 5 |
+
from google.protobuf import descriptor as _descriptor
|
| 6 |
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
| 7 |
+
from google.protobuf import message as _message
|
| 8 |
+
from google.protobuf import reflection as _reflection
|
| 9 |
+
from google.protobuf import symbol_database as _symbol_database
|
| 10 |
+
# @@protoc_insertion_point(imports)
|
| 11 |
+
|
| 12 |
+
_sym_db = _symbol_database.Default()
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
from . import common_pb2 as src_dot_ray_dot_protobuf_dot_common__pb2
|
| 16 |
+
|
| 17 |
+
|
| 18 |
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3src/ray/protobuf/export_api/export_actor_data.proto\x12\x07ray.rpc\x1a\x1dsrc/ray/protobuf/common.proto\"\x94\x06\n\x0f\x45xportActorData\x12\x19\n\x08\x61\x63tor_id\x18\x01 \x01(\x0cR\x07\x61\x63torId\x12\x15\n\x06job_id\x18\x02 \x01(\x0cR\x05jobId\x12\x39\n\x05state\x18\x03 \x01(\x0e\x32#.ray.rpc.ExportActorData.ActorStateR\x05state\x12\x1f\n\x0bis_detached\x18\x04 \x01(\x08R\nisDetached\x12\x12\n\x04name\x18\x05 \x01(\tR\x04name\x12\x10\n\x03pid\x18\x06 \x01(\rR\x03pid\x12#\n\rray_namespace\x18\x07 \x01(\tR\x0crayNamespace\x12\x34\n\x16serialized_runtime_env\x18\x08 \x01(\tR\x14serializedRuntimeEnv\x12\x1d\n\nclass_name\x18\t \x01(\tR\tclassName\x12\x39\n\x0b\x64\x65\x61th_cause\x18\n \x01(\x0b\x32\x18.ray.rpc.ActorDeathCauseR\ndeathCause\x12^\n\x12required_resources\x18\x0b \x03(\x0b\x32/.ray.rpc.ExportActorData.RequiredResourcesEntryR\x11requiredResources\x12\x1c\n\x07node_id\x18\x0c \x01(\x0cH\x00R\x06nodeId\x88\x01\x01\x12\x31\n\x12placement_group_id\x18\r \x01(\x0cH\x01R\x10placementGroupId\x88\x01\x01\x12\x1b\n\trepr_name\x18\x0e \x01(\tR\x08reprName\x1a\x44\n\x16RequiredResourcesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x01R\x05value:\x02\x38\x01\"a\n\nActorState\x12\x18\n\x14\x44\x45PENDENCIES_UNREADY\x10\x00\x12\x14\n\x10PENDING_CREATION\x10\x01\x12\t\n\x05\x41LIVE\x10\x02\x12\x0e\n\nRESTARTING\x10\x03\x12\x08\n\x04\x44\x45\x41\x44\x10\x04\x42\n\n\x08_node_idB\x15\n\x13_placement_group_idb\x06proto3')
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
|
| 22 |
+
_EXPORTACTORDATA = DESCRIPTOR.message_types_by_name['ExportActorData']
|
| 23 |
+
_EXPORTACTORDATA_REQUIREDRESOURCESENTRY = _EXPORTACTORDATA.nested_types_by_name['RequiredResourcesEntry']
|
| 24 |
+
_EXPORTACTORDATA_ACTORSTATE = _EXPORTACTORDATA.enum_types_by_name['ActorState']
|
| 25 |
+
ExportActorData = _reflection.GeneratedProtocolMessageType('ExportActorData', (_message.Message,), {
|
| 26 |
+
|
| 27 |
+
'RequiredResourcesEntry' : _reflection.GeneratedProtocolMessageType('RequiredResourcesEntry', (_message.Message,), {
|
| 28 |
+
'DESCRIPTOR' : _EXPORTACTORDATA_REQUIREDRESOURCESENTRY,
|
| 29 |
+
'__module__' : 'src.ray.protobuf.export_api.export_actor_data_pb2'
|
| 30 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ExportActorData.RequiredResourcesEntry)
|
| 31 |
+
})
|
| 32 |
+
,
|
| 33 |
+
'DESCRIPTOR' : _EXPORTACTORDATA,
|
| 34 |
+
'__module__' : 'src.ray.protobuf.export_api.export_actor_data_pb2'
|
| 35 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ExportActorData)
|
| 36 |
+
})
|
| 37 |
+
_sym_db.RegisterMessage(ExportActorData)
|
| 38 |
+
_sym_db.RegisterMessage(ExportActorData.RequiredResourcesEntry)
|
| 39 |
+
|
| 40 |
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
| 41 |
+
|
| 42 |
+
DESCRIPTOR._options = None
|
| 43 |
+
_EXPORTACTORDATA_REQUIREDRESOURCESENTRY._options = None
|
| 44 |
+
_EXPORTACTORDATA_REQUIREDRESOURCESENTRY._serialized_options = b'8\001'
|
| 45 |
+
_EXPORTACTORDATA._serialized_start=96
|
| 46 |
+
_EXPORTACTORDATA._serialized_end=884
|
| 47 |
+
_EXPORTACTORDATA_REQUIREDRESOURCESENTRY._serialized_start=682
|
| 48 |
+
_EXPORTACTORDATA_REQUIREDRESOURCESENTRY._serialized_end=750
|
| 49 |
+
_EXPORTACTORDATA_ACTORSTATE._serialized_start=752
|
| 50 |
+
_EXPORTACTORDATA_ACTORSTATE._serialized_end=849
|
| 51 |
+
# @@protoc_insertion_point(module_scope)
|
.venv/lib/python3.11/site-packages/ray/core/generated/export_runtime_env_pb2.py
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# -*- coding: utf-8 -*-
|
| 2 |
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
| 3 |
+
# source: src/ray/protobuf/export_api/export_runtime_env.proto
|
| 4 |
+
"""Generated protocol buffer code."""
|
| 5 |
+
from google.protobuf import descriptor as _descriptor
|
| 6 |
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
| 7 |
+
from google.protobuf import message as _message
|
| 8 |
+
from google.protobuf import reflection as _reflection
|
| 9 |
+
from google.protobuf import symbol_database as _symbol_database
|
| 10 |
+
# @@protoc_insertion_point(imports)
|
| 11 |
+
|
| 12 |
+
_sym_db = _symbol_database.Default()
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
|
| 17 |
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4src/ray/protobuf/export_api/export_runtime_env.proto\x12\x07ray.rpc\"\xd9\x03\n\x14\x45xportRuntimeEnvInfo\x12\x34\n\x16serialized_runtime_env\x18\x01 \x01(\tR\x14serializedRuntimeEnv\x12@\n\x04uris\x18\x02 \x01(\x0b\x32,.ray.rpc.ExportRuntimeEnvInfo.RuntimeEnvUrisR\x04uris\x12\\\n\x12runtime_env_config\x18\x03 \x01(\x0b\x32..ray.rpc.ExportRuntimeEnvInfo.RuntimeEnvConfigR\x10runtimeEnvConfig\x1a`\n\x0eRuntimeEnvUris\x12&\n\x0fworking_dir_uri\x18\x01 \x01(\tR\rworkingDirUri\x12&\n\x0fpy_modules_uris\x18\x02 \x03(\tR\rpyModulesUris\x1a\x88\x01\n\x10RuntimeEnvConfig\x12\x32\n\x15setup_timeout_seconds\x18\x01 \x01(\x05R\x13setupTimeoutSeconds\x12#\n\reager_install\x18\x02 \x01(\x08R\x0c\x65\x61gerInstall\x12\x1b\n\tlog_files\x18\x03 \x03(\tR\x08logFilesb\x06proto3')
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
_EXPORTRUNTIMEENVINFO = DESCRIPTOR.message_types_by_name['ExportRuntimeEnvInfo']
|
| 22 |
+
_EXPORTRUNTIMEENVINFO_RUNTIMEENVURIS = _EXPORTRUNTIMEENVINFO.nested_types_by_name['RuntimeEnvUris']
|
| 23 |
+
_EXPORTRUNTIMEENVINFO_RUNTIMEENVCONFIG = _EXPORTRUNTIMEENVINFO.nested_types_by_name['RuntimeEnvConfig']
|
| 24 |
+
ExportRuntimeEnvInfo = _reflection.GeneratedProtocolMessageType('ExportRuntimeEnvInfo', (_message.Message,), {
|
| 25 |
+
|
| 26 |
+
'RuntimeEnvUris' : _reflection.GeneratedProtocolMessageType('RuntimeEnvUris', (_message.Message,), {
|
| 27 |
+
'DESCRIPTOR' : _EXPORTRUNTIMEENVINFO_RUNTIMEENVURIS,
|
| 28 |
+
'__module__' : 'src.ray.protobuf.export_api.export_runtime_env_pb2'
|
| 29 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ExportRuntimeEnvInfo.RuntimeEnvUris)
|
| 30 |
+
})
|
| 31 |
+
,
|
| 32 |
+
|
| 33 |
+
'RuntimeEnvConfig' : _reflection.GeneratedProtocolMessageType('RuntimeEnvConfig', (_message.Message,), {
|
| 34 |
+
'DESCRIPTOR' : _EXPORTRUNTIMEENVINFO_RUNTIMEENVCONFIG,
|
| 35 |
+
'__module__' : 'src.ray.protobuf.export_api.export_runtime_env_pb2'
|
| 36 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ExportRuntimeEnvInfo.RuntimeEnvConfig)
|
| 37 |
+
})
|
| 38 |
+
,
|
| 39 |
+
'DESCRIPTOR' : _EXPORTRUNTIMEENVINFO,
|
| 40 |
+
'__module__' : 'src.ray.protobuf.export_api.export_runtime_env_pb2'
|
| 41 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ExportRuntimeEnvInfo)
|
| 42 |
+
})
|
| 43 |
+
_sym_db.RegisterMessage(ExportRuntimeEnvInfo)
|
| 44 |
+
_sym_db.RegisterMessage(ExportRuntimeEnvInfo.RuntimeEnvUris)
|
| 45 |
+
_sym_db.RegisterMessage(ExportRuntimeEnvInfo.RuntimeEnvConfig)
|
| 46 |
+
|
| 47 |
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
| 48 |
+
|
| 49 |
+
DESCRIPTOR._options = None
|
| 50 |
+
_EXPORTRUNTIMEENVINFO._serialized_start=66
|
| 51 |
+
_EXPORTRUNTIMEENVINFO._serialized_end=539
|
| 52 |
+
_EXPORTRUNTIMEENVINFO_RUNTIMEENVURIS._serialized_start=304
|
| 53 |
+
_EXPORTRUNTIMEENVINFO_RUNTIMEENVURIS._serialized_end=400
|
| 54 |
+
_EXPORTRUNTIMEENVINFO_RUNTIMEENVCONFIG._serialized_start=403
|
| 55 |
+
_EXPORTRUNTIMEENVINFO_RUNTIMEENVCONFIG._serialized_end=539
|
| 56 |
+
# @@protoc_insertion_point(module_scope)
|
.venv/lib/python3.11/site-packages/ray/core/generated/logging_pb2_grpc.py
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
| 2 |
+
"""Client and server classes corresponding to protobuf-defined services."""
|
| 3 |
+
import grpc
|
| 4 |
+
|
.venv/lib/python3.11/site-packages/ray/core/generated/node_manager_pb2.py
ADDED
|
@@ -0,0 +1,534 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# -*- coding: utf-8 -*-
|
| 2 |
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
| 3 |
+
# source: src/ray/protobuf/node_manager.proto
|
| 4 |
+
"""Generated protocol buffer code."""
|
| 5 |
+
from google.protobuf import descriptor as _descriptor
|
| 6 |
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
| 7 |
+
from google.protobuf import message as _message
|
| 8 |
+
from google.protobuf import reflection as _reflection
|
| 9 |
+
from google.protobuf import symbol_database as _symbol_database
|
| 10 |
+
# @@protoc_insertion_point(imports)
|
| 11 |
+
|
| 12 |
+
_sym_db = _symbol_database.Default()
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
from . import common_pb2 as src_dot_ray_dot_protobuf_dot_common__pb2
|
| 16 |
+
from . import gcs_pb2 as src_dot_ray_dot_protobuf_dot_gcs__pb2
|
| 17 |
+
from . import autoscaler_pb2 as src_dot_ray_dot_protobuf_dot_autoscaler__pb2
|
| 18 |
+
from . import runtime_env_common_pb2 as src_dot_ray_dot_protobuf_dot_runtime__env__common__pb2
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#src/ray/protobuf/node_manager.proto\x12\x07ray.rpc\x1a\x1dsrc/ray/protobuf/common.proto\x1a\x1asrc/ray/protobuf/gcs.proto\x1a!src/ray/protobuf/autoscaler.proto\x1a)src/ray/protobuf/runtime_env_common.proto\"p\n\x13WorkerBacklogReport\x12\x36\n\rresource_spec\x18\x01 \x01(\x0b\x32\x11.ray.rpc.TaskSpecR\x0cresourceSpec\x12!\n\x0c\x62\x61\x63klog_size\x18\x02 \x01(\x03R\x0b\x62\x61\x63klogSize\"\x80\x01\n\x1aReportWorkerBacklogRequest\x12\x1b\n\tworker_id\x18\x01 \x01(\x0cR\x08workerId\x12\x45\n\x0f\x62\x61\x63klog_reports\x18\x02 \x03(\x0b\x32\x1c.ray.rpc.WorkerBacklogReportR\x0e\x62\x61\x63klogReports\"\x1a\n\x18ReportWorkerBacklogReply\"\xe0\x01\n\x19RequestWorkerLeaseRequest\x12\x36\n\rresource_spec\x18\x01 \x01(\x0b\x32\x11.ray.rpc.TaskSpecR\x0cresourceSpec\x12!\n\x0c\x62\x61\x63klog_size\x18\x02 \x01(\x03R\x0b\x62\x61\x63klogSize\x12&\n\x0fgrant_or_reject\x18\x03 \x01(\x08R\rgrantOrReject\x12@\n\x1dis_selected_based_on_locality\x18\x04 \x01(\x08R\x19isSelectedBasedOnLocality\"\x81\x06\n\x17RequestWorkerLeaseReply\x12\x37\n\x0eworker_address\x18\x01 \x01(\x0b\x32\x10.ray.rpc.AddressR\rworkerAddress\x12G\n\x17retry_at_raylet_address\x18\x02 \x01(\x0b\x32\x10.ray.rpc.AddressR\x14retryAtRayletAddress\x12\x44\n\x10resource_mapping\x18\x03 \x03(\x0b\x32\x19.ray.rpc.ResourceMapEntryR\x0fresourceMapping\x12\x1a\n\x08\x63\x61nceled\x18\x04 \x01(\x08R\x08\x63\x61nceled\x12\x1d\n\nworker_pid\x18\x06 \x01(\rR\tworkerPid\x12\x1a\n\x08rejected\x18\x07 \x01(\x08R\x08rejected\x12=\n\x0eresources_data\x18\x08 \x01(\x0b\x32\x16.ray.rpc.ResourcesDataR\rresourcesData\x12Y\n\x0c\x66\x61ilure_type\x18\t \x01(\x0e\x32\x36.ray.rpc.RequestWorkerLeaseReply.SchedulingFailureTypeR\x0b\x66\x61ilureType\x12<\n\x1ascheduling_failure_message\x18\n \x01(\tR\x18schedulingFailureMessage\"\xee\x01\n\x15SchedulingFailureType\x12\x0e\n\nNOT_FAILED\x10\x00\x12\x15\n\x11SCHEDULING_FAILED\x10\x01\x12\x30\n,SCHEDULING_CANCELLED_PLACEMENT_GROUP_REMOVED\x10\x02\x12\x31\n-SCHEDULING_CANCELLED_RUNTIME_ENV_SETUP_FAILED\x10\x03\x12!\n\x1dSCHEDULING_CANCELLED_INTENDED\x10\x04\x12&\n\"SCHEDULING_CANCELLED_UNSCHEDULABLE\x10\x05\"\x8b\x02\n\x16PrestartWorkersRequest\x12-\n\x08language\x18\x01 \x01(\x0e\x32\x11.ray.rpc.LanguageR\x08language\x12\x1a\n\x06job_id\x18\x02 \x01(\x0cH\x00R\x05jobId\x88\x01\x01\x12\x41\n\x10runtime_env_info\x18\x03 \x01(\x0b\x32\x17.ray.rpc.RuntimeEnvInfoR\x0eruntimeEnvInfo\x12\x37\n\x18keep_alive_duration_secs\x18\x04 \x01(\x04R\x15keepAliveDurationSecs\x12\x1f\n\x0bnum_workers\x18\x05 \x01(\x04R\nnumWorkersB\t\n\x07_job_id\"\x16\n\x14PrestartWorkersReply\"S\n\x1dPrepareBundleResourcesRequest\x12\x32\n\x0c\x62undle_specs\x18\x01 \x03(\x0b\x32\x0f.ray.rpc.BundleR\x0b\x62undleSpecs\"7\n\x1bPrepareBundleResourcesReply\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\"R\n\x1c\x43ommitBundleResourcesRequest\x12\x32\n\x0c\x62undle_specs\x18\x01 \x03(\x0b\x32\x0f.ray.rpc.BundleR\x0b\x62undleSpecs\"\x1c\n\x1a\x43ommitBundleResourcesReply\"P\n\x1c\x43\x61ncelResourceReserveRequest\x12\x30\n\x0b\x62undle_spec\x18\x01 \x01(\x0b\x32\x0f.ray.rpc.BundleR\nbundleSpec\"\x1c\n\x1a\x43\x61ncelResourceReserveReply\"\xec\x01\n\x13ReturnWorkerRequest\x12\x1f\n\x0bworker_port\x18\x01 \x01(\x05R\nworkerPort\x12\x1b\n\tworker_id\x18\x02 \x01(\x0cR\x08workerId\x12+\n\x11\x64isconnect_worker\x18\x03 \x01(\x08R\x10\x64isconnectWorker\x12%\n\x0eworker_exiting\x18\x04 \x01(\x08R\rworkerExiting\x12\x43\n\x1e\x64isconnect_worker_error_detail\x18\x05 \x01(\tR\x1b\x64isconnectWorkerErrorDetail\"\x13\n\x11ReturnWorkerReply\"M\n ReleaseUnusedActorWorkersRequest\x12)\n\x11worker_ids_in_use\x18\x01 \x03(\x0cR\x0eworkerIdsInUse\" \n\x1eReleaseUnusedActorWorkersReply\"3\n\x15ShutdownRayletRequest\x12\x1a\n\x08graceful\x18\x01 \x01(\x08R\x08graceful\"\x15\n\x13ShutdownRayletReply\"3\n\x18\x43\x61ncelWorkerLeaseRequest\x12\x17\n\x07task_id\x18\x01 \x01(\x0cR\x06taskId\"2\n\x16\x43\x61ncelWorkerLeaseReply\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\"\xa4\x01\n\x13PinObjectIDsRequest\x12\x35\n\rowner_address\x18\x01 \x01(\x0b\x32\x10.ray.rpc.AddressR\x0cownerAddress\x12\x1d\n\nobject_ids\x18\x02 \x03(\x0cR\tobjectIds\x12&\n\x0cgenerator_id\x18\x03 \x01(\x0cH\x00R\x0bgeneratorId\x88\x01\x01\x42\x0f\n\r_generator_id\"1\n\x11PinObjectIDsReply\x12\x1c\n\tsuccesses\x18\x01 \x03(\x08R\tsuccesses\"E\n\x13GetNodeStatsRequest\x12.\n\x13include_memory_info\x18\x01 \x01(\x08R\x11includeMemoryInfo\"\xf2\x06\n\x10ObjectStoreStats\x12+\n\x12spill_time_total_s\x18\x01 \x01(\x01R\x0fspillTimeTotalS\x12.\n\x13spilled_bytes_total\x18\x02 \x01(\x03R\x11spilledBytesTotal\x12\x32\n\x15spilled_objects_total\x18\x03 \x01(\x03R\x13spilledObjectsTotal\x12/\n\x14restore_time_total_s\x18\x04 \x01(\x01R\x11restoreTimeTotalS\x12\x30\n\x14restored_bytes_total\x18\x05 \x01(\x03R\x12restoredBytesTotal\x12\x34\n\x16restored_objects_total\x18\x06 \x01(\x03R\x14restoredObjectsTotal\x12\x35\n\x17object_store_bytes_used\x18\x07 \x01(\x03R\x14objectStoreBytesUsed\x12\x37\n\x18object_store_bytes_avail\x18\x08 \x01(\x03R\x15objectStoreBytesAvail\x12\x44\n\x1fobject_store_bytes_primary_copy\x18\t \x01(\x03R\x1bobjectStoreBytesPrimaryCopy\x12=\n\x1bobject_store_bytes_fallback\x18\n \x01(\x03R\x18objectStoreBytesFallback\x12*\n\x11num_local_objects\x18\x0b \x01(\x03R\x0fnumLocalObjects\x12%\n\x0e\x63onsumed_bytes\x18\x0c \x01(\x03R\rconsumedBytes\x12.\n\x13object_pulls_queued\x18\r \x01(\x08R\x11objectPullsQueued\x12\x44\n\x1fnum_object_store_primary_copies\x18\x0e \x01(\x03R\x1bnumObjectStorePrimaryCopies\x12<\n\x1a\x63umulative_created_objects\x18\x0f \x01(\x03R\x18\x63umulativeCreatedObjects\x12\x38\n\x18\x63umulative_created_bytes\x18\x10 \x01(\x03R\x16\x63umulativeCreatedBytes\"\xb8\x01\n\x11GetNodeStatsReply\x12\x46\n\x12\x63ore_workers_stats\x18\x01 \x03(\x0b\x32\x18.ray.rpc.CoreWorkerStatsR\x10\x63oreWorkersStats\x12\x1f\n\x0bnum_workers\x18\x03 \x01(\rR\nnumWorkers\x12:\n\x0bstore_stats\x18\x06 \x01(\x0b\x32\x19.ray.rpc.ObjectStoreStatsR\nstoreStats\"\x11\n\x0fGlobalGCRequest\"\x0f\n\rGlobalGCReply\"O\n\x1d\x46ormatGlobalMemoryInfoRequest\x12.\n\x13include_memory_info\x18\x01 \x01(\x08R\x11includeMemoryInfo\"\x80\x01\n\x1b\x46ormatGlobalMemoryInfoReply\x12%\n\x0ememory_summary\x18\x01 \x01(\tR\rmemorySummary\x12:\n\x0bstore_stats\x18\x02 \x01(\x0b\x32\x19.ray.rpc.ObjectStoreStatsR\nstoreStats\"T\n\x1bReleaseUnusedBundlesRequest\x12\x35\n\x0e\x62undles_in_use\x18\x01 \x03(\x0b\x32\x0f.ray.rpc.BundleR\x0c\x62undlesInUse\"\x1b\n\x19ReleaseUnusedBundlesReply\"\x18\n\x16GetSystemConfigRequest\";\n\x14GetSystemConfigReply\x12#\n\rsystem_config\x18\x01 \x01(\tR\x0csystemConfig\"<\n\x15GetObjectsInfoRequest\x12\x19\n\x05limit\x18\x01 \x01(\x03H\x00R\x05limit\x88\x01\x01\x42\x08\n\x06_limit\"s\n\x13GetObjectsInfoReply\x12\x46\n\x12\x63ore_workers_stats\x18\x01 \x03(\x0b\x32\x18.ray.rpc.CoreWorkerStatsR\x10\x63oreWorkersStats\x12\x14\n\x05total\x18\x02 \x01(\x03R\x05total\"\x18\n\x16GetResourceLoadRequest\"L\n\x14GetResourceLoadReply\x12\x34\n\tresources\x18\x01 \x01(\x0b\x32\x16.ray.rpc.ResourcesDataR\tresources\"\x19\n\x17NotifyGCSRestartRequest\"\x17\n\x15NotifyGCSRestartReply\"5\n\x1aGetTaskFailureCauseRequest\x12\x17\n\x07task_id\x18\x01 \x01(\x0cR\x06taskId\"\xa1\x01\n\x18GetTaskFailureCauseReply\x12?\n\rfailure_cause\x18\x01 \x01(\x0b\x32\x15.ray.rpc.RayErrorInfoH\x00R\x0c\x66\x61ilureCause\x88\x01\x01\x12\x32\n\x15\x66\x61il_task_immediately\x18\x02 \x01(\x08R\x13\x66\x61ilTaskImmediatelyB\x10\n\x0e_failure_cause\"\xac\x01\n\x12\x44rainRayletRequest\x12;\n\x06reason\x18\x01 \x01(\x0e\x32#.ray.rpc.autoscaler.DrainNodeReasonR\x06reason\x12%\n\x0ereason_message\x18\x02 \x01(\tR\rreasonMessage\x12\x32\n\x15\x64\x65\x61\x64line_timestamp_ms\x18\x03 \x01(\x03R\x13\x64\x65\x61\x64lineTimestampMs\"m\n\x10\x44rainRayletReply\x12\x1f\n\x0bis_accepted\x18\x01 \x01(\x08R\nisAccepted\x12\x38\n\x18rejection_reason_message\x18\x02 \x01(\tR\x16rejectionReasonMessage\"\x93\x01\n\x1cRegisterMutableObjectRequest\x12(\n\x10writer_object_id\x18\x01 \x01(\x0cR\x0ewriterObjectId\x12\x1f\n\x0bnum_readers\x18\x02 \x01(\x03R\nnumReaders\x12(\n\x10reader_object_id\x18\x03 \x01(\x0cR\x0ereaderObjectId\"\x1c\n\x1aRegisterMutableObjectReply\"\xed\x01\n\x18PushMutableObjectRequest\x12(\n\x10writer_object_id\x18\x01 \x01(\x0cR\x0ewriterObjectId\x12&\n\x0ftotal_data_size\x18\x02 \x01(\x04R\rtotalDataSize\x12.\n\x13total_metadata_size\x18\x03 \x01(\x04R\x11totalMetadataSize\x12\x16\n\x06offset\x18\x04 \x01(\x04R\x06offset\x12\x1d\n\nchunk_size\x18\x05 \x01(\x04R\tchunkSize\x12\x18\n\x07payload\x18\x06 \x01(\x0cR\x07payload\",\n\x16PushMutableObjectReply\x12\x12\n\x04\x64one\x18\x01 \x01(\x08R\x04\x64one\"7\n\x18IsLocalWorkerDeadRequest\x12\x1b\n\tworker_id\x18\x01 \x01(\x0cR\x08workerId\"1\n\x16IsLocalWorkerDeadReply\x12\x17\n\x07is_dead\x18\x01 \x01(\x08R\x06isDead2\xdd\x10\n\x12NodeManagerService\x12T\n\x10NotifyGCSRestart\x12 .ray.rpc.NotifyGCSRestartRequest\x1a\x1e.ray.rpc.NotifyGCSRestartReply\x12Q\n\x0fGetResourceLoad\x12\x1f.ray.rpc.GetResourceLoadRequest\x1a\x1d.ray.rpc.GetResourceLoadReply\x12Z\n\x12RequestWorkerLease\x12\".ray.rpc.RequestWorkerLeaseRequest\x1a .ray.rpc.RequestWorkerLeaseReply\x12Q\n\x0fPrestartWorkers\x12\x1f.ray.rpc.PrestartWorkersRequest\x1a\x1d.ray.rpc.PrestartWorkersReply\x12]\n\x13ReportWorkerBacklog\x12#.ray.rpc.ReportWorkerBacklogRequest\x1a!.ray.rpc.ReportWorkerBacklogReply\x12H\n\x0cReturnWorker\x12\x1c.ray.rpc.ReturnWorkerRequest\x1a\x1a.ray.rpc.ReturnWorkerReply\x12o\n\x19ReleaseUnusedActorWorkers\x12).ray.rpc.ReleaseUnusedActorWorkersRequest\x1a\'.ray.rpc.ReleaseUnusedActorWorkersReply\x12N\n\x0eShutdownRaylet\x12\x1e.ray.rpc.ShutdownRayletRequest\x1a\x1c.ray.rpc.ShutdownRayletReply\x12\x45\n\x0b\x44rainRaylet\x12\x1b.ray.rpc.DrainRayletRequest\x1a\x19.ray.rpc.DrainRayletReply\x12\x66\n\x16PrepareBundleResources\x12&.ray.rpc.PrepareBundleResourcesRequest\x1a$.ray.rpc.PrepareBundleResourcesReply\x12\x63\n\x15\x43ommitBundleResources\x12%.ray.rpc.CommitBundleResourcesRequest\x1a#.ray.rpc.CommitBundleResourcesReply\x12\x63\n\x15\x43\x61ncelResourceReserve\x12%.ray.rpc.CancelResourceReserveRequest\x1a#.ray.rpc.CancelResourceReserveReply\x12W\n\x11\x43\x61ncelWorkerLease\x12!.ray.rpc.CancelWorkerLeaseRequest\x1a\x1f.ray.rpc.CancelWorkerLeaseReply\x12H\n\x0cPinObjectIDs\x12\x1c.ray.rpc.PinObjectIDsRequest\x1a\x1a.ray.rpc.PinObjectIDsReply\x12H\n\x0cGetNodeStats\x12\x1c.ray.rpc.GetNodeStatsRequest\x1a\x1a.ray.rpc.GetNodeStatsReply\x12<\n\x08GlobalGC\x12\x18.ray.rpc.GlobalGCRequest\x1a\x16.ray.rpc.GlobalGCReply\x12\x66\n\x16\x46ormatGlobalMemoryInfo\x12&.ray.rpc.FormatGlobalMemoryInfoRequest\x1a$.ray.rpc.FormatGlobalMemoryInfoReply\x12`\n\x14ReleaseUnusedBundles\x12$.ray.rpc.ReleaseUnusedBundlesRequest\x1a\".ray.rpc.ReleaseUnusedBundlesReply\x12Q\n\x0fGetSystemConfig\x12\x1f.ray.rpc.GetSystemConfigRequest\x1a\x1d.ray.rpc.GetSystemConfigReply\x12N\n\x0eGetObjectsInfo\x12\x1e.ray.rpc.GetObjectsInfoRequest\x1a\x1c.ray.rpc.GetObjectsInfoReply\x12]\n\x13GetTaskFailureCause\x12#.ray.rpc.GetTaskFailureCauseRequest\x1a!.ray.rpc.GetTaskFailureCauseReply\x12\x63\n\x15RegisterMutableObject\x12%.ray.rpc.RegisterMutableObjectRequest\x1a#.ray.rpc.RegisterMutableObjectReply\x12W\n\x11PushMutableObject\x12!.ray.rpc.PushMutableObjectRequest\x1a\x1f.ray.rpc.PushMutableObjectReply\x12W\n\x11IsLocalWorkerDead\x12!.ray.rpc.IsLocalWorkerDeadRequest\x1a\x1f.ray.rpc.IsLocalWorkerDeadReplyb\x06proto3')
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
|
| 25 |
+
_WORKERBACKLOGREPORT = DESCRIPTOR.message_types_by_name['WorkerBacklogReport']
|
| 26 |
+
_REPORTWORKERBACKLOGREQUEST = DESCRIPTOR.message_types_by_name['ReportWorkerBacklogRequest']
|
| 27 |
+
_REPORTWORKERBACKLOGREPLY = DESCRIPTOR.message_types_by_name['ReportWorkerBacklogReply']
|
| 28 |
+
_REQUESTWORKERLEASEREQUEST = DESCRIPTOR.message_types_by_name['RequestWorkerLeaseRequest']
|
| 29 |
+
_REQUESTWORKERLEASEREPLY = DESCRIPTOR.message_types_by_name['RequestWorkerLeaseReply']
|
| 30 |
+
_PRESTARTWORKERSREQUEST = DESCRIPTOR.message_types_by_name['PrestartWorkersRequest']
|
| 31 |
+
_PRESTARTWORKERSREPLY = DESCRIPTOR.message_types_by_name['PrestartWorkersReply']
|
| 32 |
+
_PREPAREBUNDLERESOURCESREQUEST = DESCRIPTOR.message_types_by_name['PrepareBundleResourcesRequest']
|
| 33 |
+
_PREPAREBUNDLERESOURCESREPLY = DESCRIPTOR.message_types_by_name['PrepareBundleResourcesReply']
|
| 34 |
+
_COMMITBUNDLERESOURCESREQUEST = DESCRIPTOR.message_types_by_name['CommitBundleResourcesRequest']
|
| 35 |
+
_COMMITBUNDLERESOURCESREPLY = DESCRIPTOR.message_types_by_name['CommitBundleResourcesReply']
|
| 36 |
+
_CANCELRESOURCERESERVEREQUEST = DESCRIPTOR.message_types_by_name['CancelResourceReserveRequest']
|
| 37 |
+
_CANCELRESOURCERESERVEREPLY = DESCRIPTOR.message_types_by_name['CancelResourceReserveReply']
|
| 38 |
+
_RETURNWORKERREQUEST = DESCRIPTOR.message_types_by_name['ReturnWorkerRequest']
|
| 39 |
+
_RETURNWORKERREPLY = DESCRIPTOR.message_types_by_name['ReturnWorkerReply']
|
| 40 |
+
_RELEASEUNUSEDACTORWORKERSREQUEST = DESCRIPTOR.message_types_by_name['ReleaseUnusedActorWorkersRequest']
|
| 41 |
+
_RELEASEUNUSEDACTORWORKERSREPLY = DESCRIPTOR.message_types_by_name['ReleaseUnusedActorWorkersReply']
|
| 42 |
+
_SHUTDOWNRAYLETREQUEST = DESCRIPTOR.message_types_by_name['ShutdownRayletRequest']
|
| 43 |
+
_SHUTDOWNRAYLETREPLY = DESCRIPTOR.message_types_by_name['ShutdownRayletReply']
|
| 44 |
+
_CANCELWORKERLEASEREQUEST = DESCRIPTOR.message_types_by_name['CancelWorkerLeaseRequest']
|
| 45 |
+
_CANCELWORKERLEASEREPLY = DESCRIPTOR.message_types_by_name['CancelWorkerLeaseReply']
|
| 46 |
+
_PINOBJECTIDSREQUEST = DESCRIPTOR.message_types_by_name['PinObjectIDsRequest']
|
| 47 |
+
_PINOBJECTIDSREPLY = DESCRIPTOR.message_types_by_name['PinObjectIDsReply']
|
| 48 |
+
_GETNODESTATSREQUEST = DESCRIPTOR.message_types_by_name['GetNodeStatsRequest']
|
| 49 |
+
_OBJECTSTORESTATS = DESCRIPTOR.message_types_by_name['ObjectStoreStats']
|
| 50 |
+
_GETNODESTATSREPLY = DESCRIPTOR.message_types_by_name['GetNodeStatsReply']
|
| 51 |
+
_GLOBALGCREQUEST = DESCRIPTOR.message_types_by_name['GlobalGCRequest']
|
| 52 |
+
_GLOBALGCREPLY = DESCRIPTOR.message_types_by_name['GlobalGCReply']
|
| 53 |
+
_FORMATGLOBALMEMORYINFOREQUEST = DESCRIPTOR.message_types_by_name['FormatGlobalMemoryInfoRequest']
|
| 54 |
+
_FORMATGLOBALMEMORYINFOREPLY = DESCRIPTOR.message_types_by_name['FormatGlobalMemoryInfoReply']
|
| 55 |
+
_RELEASEUNUSEDBUNDLESREQUEST = DESCRIPTOR.message_types_by_name['ReleaseUnusedBundlesRequest']
|
| 56 |
+
_RELEASEUNUSEDBUNDLESREPLY = DESCRIPTOR.message_types_by_name['ReleaseUnusedBundlesReply']
|
| 57 |
+
_GETSYSTEMCONFIGREQUEST = DESCRIPTOR.message_types_by_name['GetSystemConfigRequest']
|
| 58 |
+
_GETSYSTEMCONFIGREPLY = DESCRIPTOR.message_types_by_name['GetSystemConfigReply']
|
| 59 |
+
_GETOBJECTSINFOREQUEST = DESCRIPTOR.message_types_by_name['GetObjectsInfoRequest']
|
| 60 |
+
_GETOBJECTSINFOREPLY = DESCRIPTOR.message_types_by_name['GetObjectsInfoReply']
|
| 61 |
+
_GETRESOURCELOADREQUEST = DESCRIPTOR.message_types_by_name['GetResourceLoadRequest']
|
| 62 |
+
_GETRESOURCELOADREPLY = DESCRIPTOR.message_types_by_name['GetResourceLoadReply']
|
| 63 |
+
_NOTIFYGCSRESTARTREQUEST = DESCRIPTOR.message_types_by_name['NotifyGCSRestartRequest']
|
| 64 |
+
_NOTIFYGCSRESTARTREPLY = DESCRIPTOR.message_types_by_name['NotifyGCSRestartReply']
|
| 65 |
+
_GETTASKFAILURECAUSEREQUEST = DESCRIPTOR.message_types_by_name['GetTaskFailureCauseRequest']
|
| 66 |
+
_GETTASKFAILURECAUSEREPLY = DESCRIPTOR.message_types_by_name['GetTaskFailureCauseReply']
|
| 67 |
+
_DRAINRAYLETREQUEST = DESCRIPTOR.message_types_by_name['DrainRayletRequest']
|
| 68 |
+
_DRAINRAYLETREPLY = DESCRIPTOR.message_types_by_name['DrainRayletReply']
|
| 69 |
+
_REGISTERMUTABLEOBJECTREQUEST = DESCRIPTOR.message_types_by_name['RegisterMutableObjectRequest']
|
| 70 |
+
_REGISTERMUTABLEOBJECTREPLY = DESCRIPTOR.message_types_by_name['RegisterMutableObjectReply']
|
| 71 |
+
_PUSHMUTABLEOBJECTREQUEST = DESCRIPTOR.message_types_by_name['PushMutableObjectRequest']
|
| 72 |
+
_PUSHMUTABLEOBJECTREPLY = DESCRIPTOR.message_types_by_name['PushMutableObjectReply']
|
| 73 |
+
_ISLOCALWORKERDEADREQUEST = DESCRIPTOR.message_types_by_name['IsLocalWorkerDeadRequest']
|
| 74 |
+
_ISLOCALWORKERDEADREPLY = DESCRIPTOR.message_types_by_name['IsLocalWorkerDeadReply']
|
| 75 |
+
_REQUESTWORKERLEASEREPLY_SCHEDULINGFAILURETYPE = _REQUESTWORKERLEASEREPLY.enum_types_by_name['SchedulingFailureType']
|
| 76 |
+
WorkerBacklogReport = _reflection.GeneratedProtocolMessageType('WorkerBacklogReport', (_message.Message,), {
|
| 77 |
+
'DESCRIPTOR' : _WORKERBACKLOGREPORT,
|
| 78 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 79 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.WorkerBacklogReport)
|
| 80 |
+
})
|
| 81 |
+
_sym_db.RegisterMessage(WorkerBacklogReport)
|
| 82 |
+
|
| 83 |
+
ReportWorkerBacklogRequest = _reflection.GeneratedProtocolMessageType('ReportWorkerBacklogRequest', (_message.Message,), {
|
| 84 |
+
'DESCRIPTOR' : _REPORTWORKERBACKLOGREQUEST,
|
| 85 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 86 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ReportWorkerBacklogRequest)
|
| 87 |
+
})
|
| 88 |
+
_sym_db.RegisterMessage(ReportWorkerBacklogRequest)
|
| 89 |
+
|
| 90 |
+
ReportWorkerBacklogReply = _reflection.GeneratedProtocolMessageType('ReportWorkerBacklogReply', (_message.Message,), {
|
| 91 |
+
'DESCRIPTOR' : _REPORTWORKERBACKLOGREPLY,
|
| 92 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 93 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ReportWorkerBacklogReply)
|
| 94 |
+
})
|
| 95 |
+
_sym_db.RegisterMessage(ReportWorkerBacklogReply)
|
| 96 |
+
|
| 97 |
+
RequestWorkerLeaseRequest = _reflection.GeneratedProtocolMessageType('RequestWorkerLeaseRequest', (_message.Message,), {
|
| 98 |
+
'DESCRIPTOR' : _REQUESTWORKERLEASEREQUEST,
|
| 99 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 100 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.RequestWorkerLeaseRequest)
|
| 101 |
+
})
|
| 102 |
+
_sym_db.RegisterMessage(RequestWorkerLeaseRequest)
|
| 103 |
+
|
| 104 |
+
RequestWorkerLeaseReply = _reflection.GeneratedProtocolMessageType('RequestWorkerLeaseReply', (_message.Message,), {
|
| 105 |
+
'DESCRIPTOR' : _REQUESTWORKERLEASEREPLY,
|
| 106 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 107 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.RequestWorkerLeaseReply)
|
| 108 |
+
})
|
| 109 |
+
_sym_db.RegisterMessage(RequestWorkerLeaseReply)
|
| 110 |
+
|
| 111 |
+
PrestartWorkersRequest = _reflection.GeneratedProtocolMessageType('PrestartWorkersRequest', (_message.Message,), {
|
| 112 |
+
'DESCRIPTOR' : _PRESTARTWORKERSREQUEST,
|
| 113 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 114 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.PrestartWorkersRequest)
|
| 115 |
+
})
|
| 116 |
+
_sym_db.RegisterMessage(PrestartWorkersRequest)
|
| 117 |
+
|
| 118 |
+
PrestartWorkersReply = _reflection.GeneratedProtocolMessageType('PrestartWorkersReply', (_message.Message,), {
|
| 119 |
+
'DESCRIPTOR' : _PRESTARTWORKERSREPLY,
|
| 120 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 121 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.PrestartWorkersReply)
|
| 122 |
+
})
|
| 123 |
+
_sym_db.RegisterMessage(PrestartWorkersReply)
|
| 124 |
+
|
| 125 |
+
PrepareBundleResourcesRequest = _reflection.GeneratedProtocolMessageType('PrepareBundleResourcesRequest', (_message.Message,), {
|
| 126 |
+
'DESCRIPTOR' : _PREPAREBUNDLERESOURCESREQUEST,
|
| 127 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 128 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.PrepareBundleResourcesRequest)
|
| 129 |
+
})
|
| 130 |
+
_sym_db.RegisterMessage(PrepareBundleResourcesRequest)
|
| 131 |
+
|
| 132 |
+
PrepareBundleResourcesReply = _reflection.GeneratedProtocolMessageType('PrepareBundleResourcesReply', (_message.Message,), {
|
| 133 |
+
'DESCRIPTOR' : _PREPAREBUNDLERESOURCESREPLY,
|
| 134 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 135 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.PrepareBundleResourcesReply)
|
| 136 |
+
})
|
| 137 |
+
_sym_db.RegisterMessage(PrepareBundleResourcesReply)
|
| 138 |
+
|
| 139 |
+
CommitBundleResourcesRequest = _reflection.GeneratedProtocolMessageType('CommitBundleResourcesRequest', (_message.Message,), {
|
| 140 |
+
'DESCRIPTOR' : _COMMITBUNDLERESOURCESREQUEST,
|
| 141 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 142 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.CommitBundleResourcesRequest)
|
| 143 |
+
})
|
| 144 |
+
_sym_db.RegisterMessage(CommitBundleResourcesRequest)
|
| 145 |
+
|
| 146 |
+
CommitBundleResourcesReply = _reflection.GeneratedProtocolMessageType('CommitBundleResourcesReply', (_message.Message,), {
|
| 147 |
+
'DESCRIPTOR' : _COMMITBUNDLERESOURCESREPLY,
|
| 148 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 149 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.CommitBundleResourcesReply)
|
| 150 |
+
})
|
| 151 |
+
_sym_db.RegisterMessage(CommitBundleResourcesReply)
|
| 152 |
+
|
| 153 |
+
CancelResourceReserveRequest = _reflection.GeneratedProtocolMessageType('CancelResourceReserveRequest', (_message.Message,), {
|
| 154 |
+
'DESCRIPTOR' : _CANCELRESOURCERESERVEREQUEST,
|
| 155 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 156 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.CancelResourceReserveRequest)
|
| 157 |
+
})
|
| 158 |
+
_sym_db.RegisterMessage(CancelResourceReserveRequest)
|
| 159 |
+
|
| 160 |
+
CancelResourceReserveReply = _reflection.GeneratedProtocolMessageType('CancelResourceReserveReply', (_message.Message,), {
|
| 161 |
+
'DESCRIPTOR' : _CANCELRESOURCERESERVEREPLY,
|
| 162 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 163 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.CancelResourceReserveReply)
|
| 164 |
+
})
|
| 165 |
+
_sym_db.RegisterMessage(CancelResourceReserveReply)
|
| 166 |
+
|
| 167 |
+
ReturnWorkerRequest = _reflection.GeneratedProtocolMessageType('ReturnWorkerRequest', (_message.Message,), {
|
| 168 |
+
'DESCRIPTOR' : _RETURNWORKERREQUEST,
|
| 169 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 170 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ReturnWorkerRequest)
|
| 171 |
+
})
|
| 172 |
+
_sym_db.RegisterMessage(ReturnWorkerRequest)
|
| 173 |
+
|
| 174 |
+
ReturnWorkerReply = _reflection.GeneratedProtocolMessageType('ReturnWorkerReply', (_message.Message,), {
|
| 175 |
+
'DESCRIPTOR' : _RETURNWORKERREPLY,
|
| 176 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 177 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ReturnWorkerReply)
|
| 178 |
+
})
|
| 179 |
+
_sym_db.RegisterMessage(ReturnWorkerReply)
|
| 180 |
+
|
| 181 |
+
ReleaseUnusedActorWorkersRequest = _reflection.GeneratedProtocolMessageType('ReleaseUnusedActorWorkersRequest', (_message.Message,), {
|
| 182 |
+
'DESCRIPTOR' : _RELEASEUNUSEDACTORWORKERSREQUEST,
|
| 183 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 184 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ReleaseUnusedActorWorkersRequest)
|
| 185 |
+
})
|
| 186 |
+
_sym_db.RegisterMessage(ReleaseUnusedActorWorkersRequest)
|
| 187 |
+
|
| 188 |
+
ReleaseUnusedActorWorkersReply = _reflection.GeneratedProtocolMessageType('ReleaseUnusedActorWorkersReply', (_message.Message,), {
|
| 189 |
+
'DESCRIPTOR' : _RELEASEUNUSEDACTORWORKERSREPLY,
|
| 190 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 191 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ReleaseUnusedActorWorkersReply)
|
| 192 |
+
})
|
| 193 |
+
_sym_db.RegisterMessage(ReleaseUnusedActorWorkersReply)
|
| 194 |
+
|
| 195 |
+
ShutdownRayletRequest = _reflection.GeneratedProtocolMessageType('ShutdownRayletRequest', (_message.Message,), {
|
| 196 |
+
'DESCRIPTOR' : _SHUTDOWNRAYLETREQUEST,
|
| 197 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 198 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ShutdownRayletRequest)
|
| 199 |
+
})
|
| 200 |
+
_sym_db.RegisterMessage(ShutdownRayletRequest)
|
| 201 |
+
|
| 202 |
+
ShutdownRayletReply = _reflection.GeneratedProtocolMessageType('ShutdownRayletReply', (_message.Message,), {
|
| 203 |
+
'DESCRIPTOR' : _SHUTDOWNRAYLETREPLY,
|
| 204 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 205 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ShutdownRayletReply)
|
| 206 |
+
})
|
| 207 |
+
_sym_db.RegisterMessage(ShutdownRayletReply)
|
| 208 |
+
|
| 209 |
+
CancelWorkerLeaseRequest = _reflection.GeneratedProtocolMessageType('CancelWorkerLeaseRequest', (_message.Message,), {
|
| 210 |
+
'DESCRIPTOR' : _CANCELWORKERLEASEREQUEST,
|
| 211 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 212 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.CancelWorkerLeaseRequest)
|
| 213 |
+
})
|
| 214 |
+
_sym_db.RegisterMessage(CancelWorkerLeaseRequest)
|
| 215 |
+
|
| 216 |
+
CancelWorkerLeaseReply = _reflection.GeneratedProtocolMessageType('CancelWorkerLeaseReply', (_message.Message,), {
|
| 217 |
+
'DESCRIPTOR' : _CANCELWORKERLEASEREPLY,
|
| 218 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 219 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.CancelWorkerLeaseReply)
|
| 220 |
+
})
|
| 221 |
+
_sym_db.RegisterMessage(CancelWorkerLeaseReply)
|
| 222 |
+
|
| 223 |
+
PinObjectIDsRequest = _reflection.GeneratedProtocolMessageType('PinObjectIDsRequest', (_message.Message,), {
|
| 224 |
+
'DESCRIPTOR' : _PINOBJECTIDSREQUEST,
|
| 225 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 226 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.PinObjectIDsRequest)
|
| 227 |
+
})
|
| 228 |
+
_sym_db.RegisterMessage(PinObjectIDsRequest)
|
| 229 |
+
|
| 230 |
+
PinObjectIDsReply = _reflection.GeneratedProtocolMessageType('PinObjectIDsReply', (_message.Message,), {
|
| 231 |
+
'DESCRIPTOR' : _PINOBJECTIDSREPLY,
|
| 232 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 233 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.PinObjectIDsReply)
|
| 234 |
+
})
|
| 235 |
+
_sym_db.RegisterMessage(PinObjectIDsReply)
|
| 236 |
+
|
| 237 |
+
GetNodeStatsRequest = _reflection.GeneratedProtocolMessageType('GetNodeStatsRequest', (_message.Message,), {
|
| 238 |
+
'DESCRIPTOR' : _GETNODESTATSREQUEST,
|
| 239 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 240 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.GetNodeStatsRequest)
|
| 241 |
+
})
|
| 242 |
+
_sym_db.RegisterMessage(GetNodeStatsRequest)
|
| 243 |
+
|
| 244 |
+
ObjectStoreStats = _reflection.GeneratedProtocolMessageType('ObjectStoreStats', (_message.Message,), {
|
| 245 |
+
'DESCRIPTOR' : _OBJECTSTORESTATS,
|
| 246 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 247 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ObjectStoreStats)
|
| 248 |
+
})
|
| 249 |
+
_sym_db.RegisterMessage(ObjectStoreStats)
|
| 250 |
+
|
| 251 |
+
GetNodeStatsReply = _reflection.GeneratedProtocolMessageType('GetNodeStatsReply', (_message.Message,), {
|
| 252 |
+
'DESCRIPTOR' : _GETNODESTATSREPLY,
|
| 253 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 254 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.GetNodeStatsReply)
|
| 255 |
+
})
|
| 256 |
+
_sym_db.RegisterMessage(GetNodeStatsReply)
|
| 257 |
+
|
| 258 |
+
GlobalGCRequest = _reflection.GeneratedProtocolMessageType('GlobalGCRequest', (_message.Message,), {
|
| 259 |
+
'DESCRIPTOR' : _GLOBALGCREQUEST,
|
| 260 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 261 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.GlobalGCRequest)
|
| 262 |
+
})
|
| 263 |
+
_sym_db.RegisterMessage(GlobalGCRequest)
|
| 264 |
+
|
| 265 |
+
GlobalGCReply = _reflection.GeneratedProtocolMessageType('GlobalGCReply', (_message.Message,), {
|
| 266 |
+
'DESCRIPTOR' : _GLOBALGCREPLY,
|
| 267 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 268 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.GlobalGCReply)
|
| 269 |
+
})
|
| 270 |
+
_sym_db.RegisterMessage(GlobalGCReply)
|
| 271 |
+
|
| 272 |
+
FormatGlobalMemoryInfoRequest = _reflection.GeneratedProtocolMessageType('FormatGlobalMemoryInfoRequest', (_message.Message,), {
|
| 273 |
+
'DESCRIPTOR' : _FORMATGLOBALMEMORYINFOREQUEST,
|
| 274 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 275 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.FormatGlobalMemoryInfoRequest)
|
| 276 |
+
})
|
| 277 |
+
_sym_db.RegisterMessage(FormatGlobalMemoryInfoRequest)
|
| 278 |
+
|
| 279 |
+
FormatGlobalMemoryInfoReply = _reflection.GeneratedProtocolMessageType('FormatGlobalMemoryInfoReply', (_message.Message,), {
|
| 280 |
+
'DESCRIPTOR' : _FORMATGLOBALMEMORYINFOREPLY,
|
| 281 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 282 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.FormatGlobalMemoryInfoReply)
|
| 283 |
+
})
|
| 284 |
+
_sym_db.RegisterMessage(FormatGlobalMemoryInfoReply)
|
| 285 |
+
|
| 286 |
+
ReleaseUnusedBundlesRequest = _reflection.GeneratedProtocolMessageType('ReleaseUnusedBundlesRequest', (_message.Message,), {
|
| 287 |
+
'DESCRIPTOR' : _RELEASEUNUSEDBUNDLESREQUEST,
|
| 288 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 289 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ReleaseUnusedBundlesRequest)
|
| 290 |
+
})
|
| 291 |
+
_sym_db.RegisterMessage(ReleaseUnusedBundlesRequest)
|
| 292 |
+
|
| 293 |
+
ReleaseUnusedBundlesReply = _reflection.GeneratedProtocolMessageType('ReleaseUnusedBundlesReply', (_message.Message,), {
|
| 294 |
+
'DESCRIPTOR' : _RELEASEUNUSEDBUNDLESREPLY,
|
| 295 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 296 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.ReleaseUnusedBundlesReply)
|
| 297 |
+
})
|
| 298 |
+
_sym_db.RegisterMessage(ReleaseUnusedBundlesReply)
|
| 299 |
+
|
| 300 |
+
GetSystemConfigRequest = _reflection.GeneratedProtocolMessageType('GetSystemConfigRequest', (_message.Message,), {
|
| 301 |
+
'DESCRIPTOR' : _GETSYSTEMCONFIGREQUEST,
|
| 302 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 303 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.GetSystemConfigRequest)
|
| 304 |
+
})
|
| 305 |
+
_sym_db.RegisterMessage(GetSystemConfigRequest)
|
| 306 |
+
|
| 307 |
+
GetSystemConfigReply = _reflection.GeneratedProtocolMessageType('GetSystemConfigReply', (_message.Message,), {
|
| 308 |
+
'DESCRIPTOR' : _GETSYSTEMCONFIGREPLY,
|
| 309 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 310 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.GetSystemConfigReply)
|
| 311 |
+
})
|
| 312 |
+
_sym_db.RegisterMessage(GetSystemConfigReply)
|
| 313 |
+
|
| 314 |
+
GetObjectsInfoRequest = _reflection.GeneratedProtocolMessageType('GetObjectsInfoRequest', (_message.Message,), {
|
| 315 |
+
'DESCRIPTOR' : _GETOBJECTSINFOREQUEST,
|
| 316 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 317 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.GetObjectsInfoRequest)
|
| 318 |
+
})
|
| 319 |
+
_sym_db.RegisterMessage(GetObjectsInfoRequest)
|
| 320 |
+
|
| 321 |
+
GetObjectsInfoReply = _reflection.GeneratedProtocolMessageType('GetObjectsInfoReply', (_message.Message,), {
|
| 322 |
+
'DESCRIPTOR' : _GETOBJECTSINFOREPLY,
|
| 323 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 324 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.GetObjectsInfoReply)
|
| 325 |
+
})
|
| 326 |
+
_sym_db.RegisterMessage(GetObjectsInfoReply)
|
| 327 |
+
|
| 328 |
+
GetResourceLoadRequest = _reflection.GeneratedProtocolMessageType('GetResourceLoadRequest', (_message.Message,), {
|
| 329 |
+
'DESCRIPTOR' : _GETRESOURCELOADREQUEST,
|
| 330 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 331 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.GetResourceLoadRequest)
|
| 332 |
+
})
|
| 333 |
+
_sym_db.RegisterMessage(GetResourceLoadRequest)
|
| 334 |
+
|
| 335 |
+
GetResourceLoadReply = _reflection.GeneratedProtocolMessageType('GetResourceLoadReply', (_message.Message,), {
|
| 336 |
+
'DESCRIPTOR' : _GETRESOURCELOADREPLY,
|
| 337 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 338 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.GetResourceLoadReply)
|
| 339 |
+
})
|
| 340 |
+
_sym_db.RegisterMessage(GetResourceLoadReply)
|
| 341 |
+
|
| 342 |
+
NotifyGCSRestartRequest = _reflection.GeneratedProtocolMessageType('NotifyGCSRestartRequest', (_message.Message,), {
|
| 343 |
+
'DESCRIPTOR' : _NOTIFYGCSRESTARTREQUEST,
|
| 344 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 345 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.NotifyGCSRestartRequest)
|
| 346 |
+
})
|
| 347 |
+
_sym_db.RegisterMessage(NotifyGCSRestartRequest)
|
| 348 |
+
|
| 349 |
+
NotifyGCSRestartReply = _reflection.GeneratedProtocolMessageType('NotifyGCSRestartReply', (_message.Message,), {
|
| 350 |
+
'DESCRIPTOR' : _NOTIFYGCSRESTARTREPLY,
|
| 351 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 352 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.NotifyGCSRestartReply)
|
| 353 |
+
})
|
| 354 |
+
_sym_db.RegisterMessage(NotifyGCSRestartReply)
|
| 355 |
+
|
| 356 |
+
GetTaskFailureCauseRequest = _reflection.GeneratedProtocolMessageType('GetTaskFailureCauseRequest', (_message.Message,), {
|
| 357 |
+
'DESCRIPTOR' : _GETTASKFAILURECAUSEREQUEST,
|
| 358 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 359 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.GetTaskFailureCauseRequest)
|
| 360 |
+
})
|
| 361 |
+
_sym_db.RegisterMessage(GetTaskFailureCauseRequest)
|
| 362 |
+
|
| 363 |
+
GetTaskFailureCauseReply = _reflection.GeneratedProtocolMessageType('GetTaskFailureCauseReply', (_message.Message,), {
|
| 364 |
+
'DESCRIPTOR' : _GETTASKFAILURECAUSEREPLY,
|
| 365 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 366 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.GetTaskFailureCauseReply)
|
| 367 |
+
})
|
| 368 |
+
_sym_db.RegisterMessage(GetTaskFailureCauseReply)
|
| 369 |
+
|
| 370 |
+
DrainRayletRequest = _reflection.GeneratedProtocolMessageType('DrainRayletRequest', (_message.Message,), {
|
| 371 |
+
'DESCRIPTOR' : _DRAINRAYLETREQUEST,
|
| 372 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 373 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.DrainRayletRequest)
|
| 374 |
+
})
|
| 375 |
+
_sym_db.RegisterMessage(DrainRayletRequest)
|
| 376 |
+
|
| 377 |
+
DrainRayletReply = _reflection.GeneratedProtocolMessageType('DrainRayletReply', (_message.Message,), {
|
| 378 |
+
'DESCRIPTOR' : _DRAINRAYLETREPLY,
|
| 379 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 380 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.DrainRayletReply)
|
| 381 |
+
})
|
| 382 |
+
_sym_db.RegisterMessage(DrainRayletReply)
|
| 383 |
+
|
| 384 |
+
RegisterMutableObjectRequest = _reflection.GeneratedProtocolMessageType('RegisterMutableObjectRequest', (_message.Message,), {
|
| 385 |
+
'DESCRIPTOR' : _REGISTERMUTABLEOBJECTREQUEST,
|
| 386 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 387 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.RegisterMutableObjectRequest)
|
| 388 |
+
})
|
| 389 |
+
_sym_db.RegisterMessage(RegisterMutableObjectRequest)
|
| 390 |
+
|
| 391 |
+
RegisterMutableObjectReply = _reflection.GeneratedProtocolMessageType('RegisterMutableObjectReply', (_message.Message,), {
|
| 392 |
+
'DESCRIPTOR' : _REGISTERMUTABLEOBJECTREPLY,
|
| 393 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 394 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.RegisterMutableObjectReply)
|
| 395 |
+
})
|
| 396 |
+
_sym_db.RegisterMessage(RegisterMutableObjectReply)
|
| 397 |
+
|
| 398 |
+
PushMutableObjectRequest = _reflection.GeneratedProtocolMessageType('PushMutableObjectRequest', (_message.Message,), {
|
| 399 |
+
'DESCRIPTOR' : _PUSHMUTABLEOBJECTREQUEST,
|
| 400 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 401 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.PushMutableObjectRequest)
|
| 402 |
+
})
|
| 403 |
+
_sym_db.RegisterMessage(PushMutableObjectRequest)
|
| 404 |
+
|
| 405 |
+
PushMutableObjectReply = _reflection.GeneratedProtocolMessageType('PushMutableObjectReply', (_message.Message,), {
|
| 406 |
+
'DESCRIPTOR' : _PUSHMUTABLEOBJECTREPLY,
|
| 407 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 408 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.PushMutableObjectReply)
|
| 409 |
+
})
|
| 410 |
+
_sym_db.RegisterMessage(PushMutableObjectReply)
|
| 411 |
+
|
| 412 |
+
IsLocalWorkerDeadRequest = _reflection.GeneratedProtocolMessageType('IsLocalWorkerDeadRequest', (_message.Message,), {
|
| 413 |
+
'DESCRIPTOR' : _ISLOCALWORKERDEADREQUEST,
|
| 414 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 415 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.IsLocalWorkerDeadRequest)
|
| 416 |
+
})
|
| 417 |
+
_sym_db.RegisterMessage(IsLocalWorkerDeadRequest)
|
| 418 |
+
|
| 419 |
+
IsLocalWorkerDeadReply = _reflection.GeneratedProtocolMessageType('IsLocalWorkerDeadReply', (_message.Message,), {
|
| 420 |
+
'DESCRIPTOR' : _ISLOCALWORKERDEADREPLY,
|
| 421 |
+
'__module__' : 'src.ray.protobuf.node_manager_pb2'
|
| 422 |
+
# @@protoc_insertion_point(class_scope:ray.rpc.IsLocalWorkerDeadReply)
|
| 423 |
+
})
|
| 424 |
+
_sym_db.RegisterMessage(IsLocalWorkerDeadReply)
|
| 425 |
+
|
| 426 |
+
_NODEMANAGERSERVICE = DESCRIPTOR.services_by_name['NodeManagerService']
|
| 427 |
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
| 428 |
+
|
| 429 |
+
DESCRIPTOR._options = None
|
| 430 |
+
_WORKERBACKLOGREPORT._serialized_start=185
|
| 431 |
+
_WORKERBACKLOGREPORT._serialized_end=297
|
| 432 |
+
_REPORTWORKERBACKLOGREQUEST._serialized_start=300
|
| 433 |
+
_REPORTWORKERBACKLOGREQUEST._serialized_end=428
|
| 434 |
+
_REPORTWORKERBACKLOGREPLY._serialized_start=430
|
| 435 |
+
_REPORTWORKERBACKLOGREPLY._serialized_end=456
|
| 436 |
+
_REQUESTWORKERLEASEREQUEST._serialized_start=459
|
| 437 |
+
_REQUESTWORKERLEASEREQUEST._serialized_end=683
|
| 438 |
+
_REQUESTWORKERLEASEREPLY._serialized_start=686
|
| 439 |
+
_REQUESTWORKERLEASEREPLY._serialized_end=1455
|
| 440 |
+
_REQUESTWORKERLEASEREPLY_SCHEDULINGFAILURETYPE._serialized_start=1217
|
| 441 |
+
_REQUESTWORKERLEASEREPLY_SCHEDULINGFAILURETYPE._serialized_end=1455
|
| 442 |
+
_PRESTARTWORKERSREQUEST._serialized_start=1458
|
| 443 |
+
_PRESTARTWORKERSREQUEST._serialized_end=1725
|
| 444 |
+
_PRESTARTWORKERSREPLY._serialized_start=1727
|
| 445 |
+
_PRESTARTWORKERSREPLY._serialized_end=1749
|
| 446 |
+
_PREPAREBUNDLERESOURCESREQUEST._serialized_start=1751
|
| 447 |
+
_PREPAREBUNDLERESOURCESREQUEST._serialized_end=1834
|
| 448 |
+
_PREPAREBUNDLERESOURCESREPLY._serialized_start=1836
|
| 449 |
+
_PREPAREBUNDLERESOURCESREPLY._serialized_end=1891
|
| 450 |
+
_COMMITBUNDLERESOURCESREQUEST._serialized_start=1893
|
| 451 |
+
_COMMITBUNDLERESOURCESREQUEST._serialized_end=1975
|
| 452 |
+
_COMMITBUNDLERESOURCESREPLY._serialized_start=1977
|
| 453 |
+
_COMMITBUNDLERESOURCESREPLY._serialized_end=2005
|
| 454 |
+
_CANCELRESOURCERESERVEREQUEST._serialized_start=2007
|
| 455 |
+
_CANCELRESOURCERESERVEREQUEST._serialized_end=2087
|
| 456 |
+
_CANCELRESOURCERESERVEREPLY._serialized_start=2089
|
| 457 |
+
_CANCELRESOURCERESERVEREPLY._serialized_end=2117
|
| 458 |
+
_RETURNWORKERREQUEST._serialized_start=2120
|
| 459 |
+
_RETURNWORKERREQUEST._serialized_end=2356
|
| 460 |
+
_RETURNWORKERREPLY._serialized_start=2358
|
| 461 |
+
_RETURNWORKERREPLY._serialized_end=2377
|
| 462 |
+
_RELEASEUNUSEDACTORWORKERSREQUEST._serialized_start=2379
|
| 463 |
+
_RELEASEUNUSEDACTORWORKERSREQUEST._serialized_end=2456
|
| 464 |
+
_RELEASEUNUSEDACTORWORKERSREPLY._serialized_start=2458
|
| 465 |
+
_RELEASEUNUSEDACTORWORKERSREPLY._serialized_end=2490
|
| 466 |
+
_SHUTDOWNRAYLETREQUEST._serialized_start=2492
|
| 467 |
+
_SHUTDOWNRAYLETREQUEST._serialized_end=2543
|
| 468 |
+
_SHUTDOWNRAYLETREPLY._serialized_start=2545
|
| 469 |
+
_SHUTDOWNRAYLETREPLY._serialized_end=2566
|
| 470 |
+
_CANCELWORKERLEASEREQUEST._serialized_start=2568
|
| 471 |
+
_CANCELWORKERLEASEREQUEST._serialized_end=2619
|
| 472 |
+
_CANCELWORKERLEASEREPLY._serialized_start=2621
|
| 473 |
+
_CANCELWORKERLEASEREPLY._serialized_end=2671
|
| 474 |
+
_PINOBJECTIDSREQUEST._serialized_start=2674
|
| 475 |
+
_PINOBJECTIDSREQUEST._serialized_end=2838
|
| 476 |
+
_PINOBJECTIDSREPLY._serialized_start=2840
|
| 477 |
+
_PINOBJECTIDSREPLY._serialized_end=2889
|
| 478 |
+
_GETNODESTATSREQUEST._serialized_start=2891
|
| 479 |
+
_GETNODESTATSREQUEST._serialized_end=2960
|
| 480 |
+
_OBJECTSTORESTATS._serialized_start=2963
|
| 481 |
+
_OBJECTSTORESTATS._serialized_end=3845
|
| 482 |
+
_GETNODESTATSREPLY._serialized_start=3848
|
| 483 |
+
_GETNODESTATSREPLY._serialized_end=4032
|
| 484 |
+
_GLOBALGCREQUEST._serialized_start=4034
|
| 485 |
+
_GLOBALGCREQUEST._serialized_end=4051
|
| 486 |
+
_GLOBALGCREPLY._serialized_start=4053
|
| 487 |
+
_GLOBALGCREPLY._serialized_end=4068
|
| 488 |
+
_FORMATGLOBALMEMORYINFOREQUEST._serialized_start=4070
|
| 489 |
+
_FORMATGLOBALMEMORYINFOREQUEST._serialized_end=4149
|
| 490 |
+
_FORMATGLOBALMEMORYINFOREPLY._serialized_start=4152
|
| 491 |
+
_FORMATGLOBALMEMORYINFOREPLY._serialized_end=4280
|
| 492 |
+
_RELEASEUNUSEDBUNDLESREQUEST._serialized_start=4282
|
| 493 |
+
_RELEASEUNUSEDBUNDLESREQUEST._serialized_end=4366
|
| 494 |
+
_RELEASEUNUSEDBUNDLESREPLY._serialized_start=4368
|
| 495 |
+
_RELEASEUNUSEDBUNDLESREPLY._serialized_end=4395
|
| 496 |
+
_GETSYSTEMCONFIGREQUEST._serialized_start=4397
|
| 497 |
+
_GETSYSTEMCONFIGREQUEST._serialized_end=4421
|
| 498 |
+
_GETSYSTEMCONFIGREPLY._serialized_start=4423
|
| 499 |
+
_GETSYSTEMCONFIGREPLY._serialized_end=4482
|
| 500 |
+
_GETOBJECTSINFOREQUEST._serialized_start=4484
|
| 501 |
+
_GETOBJECTSINFOREQUEST._serialized_end=4544
|
| 502 |
+
_GETOBJECTSINFOREPLY._serialized_start=4546
|
| 503 |
+
_GETOBJECTSINFOREPLY._serialized_end=4661
|
| 504 |
+
_GETRESOURCELOADREQUEST._serialized_start=4663
|
| 505 |
+
_GETRESOURCELOADREQUEST._serialized_end=4687
|
| 506 |
+
_GETRESOURCELOADREPLY._serialized_start=4689
|
| 507 |
+
_GETRESOURCELOADREPLY._serialized_end=4765
|
| 508 |
+
_NOTIFYGCSRESTARTREQUEST._serialized_start=4767
|
| 509 |
+
_NOTIFYGCSRESTARTREQUEST._serialized_end=4792
|
| 510 |
+
_NOTIFYGCSRESTARTREPLY._serialized_start=4794
|
| 511 |
+
_NOTIFYGCSRESTARTREPLY._serialized_end=4817
|
| 512 |
+
_GETTASKFAILURECAUSEREQUEST._serialized_start=4819
|
| 513 |
+
_GETTASKFAILURECAUSEREQUEST._serialized_end=4872
|
| 514 |
+
_GETTASKFAILURECAUSEREPLY._serialized_start=4875
|
| 515 |
+
_GETTASKFAILURECAUSEREPLY._serialized_end=5036
|
| 516 |
+
_DRAINRAYLETREQUEST._serialized_start=5039
|
| 517 |
+
_DRAINRAYLETREQUEST._serialized_end=5211
|
| 518 |
+
_DRAINRAYLETREPLY._serialized_start=5213
|
| 519 |
+
_DRAINRAYLETREPLY._serialized_end=5322
|
| 520 |
+
_REGISTERMUTABLEOBJECTREQUEST._serialized_start=5325
|
| 521 |
+
_REGISTERMUTABLEOBJECTREQUEST._serialized_end=5472
|
| 522 |
+
_REGISTERMUTABLEOBJECTREPLY._serialized_start=5474
|
| 523 |
+
_REGISTERMUTABLEOBJECTREPLY._serialized_end=5502
|
| 524 |
+
_PUSHMUTABLEOBJECTREQUEST._serialized_start=5505
|
| 525 |
+
_PUSHMUTABLEOBJECTREQUEST._serialized_end=5742
|
| 526 |
+
_PUSHMUTABLEOBJECTREPLY._serialized_start=5744
|
| 527 |
+
_PUSHMUTABLEOBJECTREPLY._serialized_end=5788
|
| 528 |
+
_ISLOCALWORKERDEADREQUEST._serialized_start=5790
|
| 529 |
+
_ISLOCALWORKERDEADREQUEST._serialized_end=5845
|
| 530 |
+
_ISLOCALWORKERDEADREPLY._serialized_start=5847
|
| 531 |
+
_ISLOCALWORKERDEADREPLY._serialized_end=5896
|
| 532 |
+
_NODEMANAGERSERVICE._serialized_start=5899
|
| 533 |
+
_NODEMANAGERSERVICE._serialized_end=8040
|
| 534 |
+
# @@protoc_insertion_point(module_scope)
|
.venv/lib/python3.11/site-packages/ray/core/generated/resource_pb2_grpc.py
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
| 2 |
+
"""Client and server classes corresponding to protobuf-defined services."""
|
| 3 |
+
import grpc
|
| 4 |
+
|
.venv/lib/python3.11/site-packages/ray/dashboard/client/build/speedscope-1.5.3/README
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
This is a self-contained release of https://github.com/jlfwong/speedscope.
|
| 2 |
+
To use it, open index.html in Chrome or Firefox.
|
.venv/lib/python3.11/site-packages/ray/dashboard/client/build/speedscope-1.5.3/favicon-16x16.361d2b26.png
ADDED
|
|
.venv/lib/python3.11/site-packages/ray/dashboard/client/build/speedscope-1.5.3/file-format-schema.json
ADDED
|
@@ -0,0 +1,324 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
| 3 |
+
"definitions": {
|
| 4 |
+
"FileFormat.Profile": {
|
| 5 |
+
"anyOf": [
|
| 6 |
+
{
|
| 7 |
+
"$ref": "#/definitions/FileFormat.EventedProfile"
|
| 8 |
+
},
|
| 9 |
+
{
|
| 10 |
+
"$ref": "#/definitions/FileFormat.SampledProfile"
|
| 11 |
+
}
|
| 12 |
+
]
|
| 13 |
+
},
|
| 14 |
+
"FileFormat.File": {
|
| 15 |
+
"title": "FileFormat.File",
|
| 16 |
+
"type": "object",
|
| 17 |
+
"properties": {
|
| 18 |
+
"$schema": {
|
| 19 |
+
"type": "string",
|
| 20 |
+
"enum": [
|
| 21 |
+
"https://www.speedscope.app/file-format-schema.json"
|
| 22 |
+
],
|
| 23 |
+
"title": "$schema"
|
| 24 |
+
},
|
| 25 |
+
"shared": {
|
| 26 |
+
"type": "object",
|
| 27 |
+
"properties": {
|
| 28 |
+
"frames": {
|
| 29 |
+
"type": "array",
|
| 30 |
+
"items": {
|
| 31 |
+
"$ref": "#/definitions/FileFormat.Frame"
|
| 32 |
+
},
|
| 33 |
+
"title": "frames"
|
| 34 |
+
}
|
| 35 |
+
},
|
| 36 |
+
"required": [
|
| 37 |
+
"frames"
|
| 38 |
+
],
|
| 39 |
+
"title": "shared"
|
| 40 |
+
},
|
| 41 |
+
"profiles": {
|
| 42 |
+
"type": "array",
|
| 43 |
+
"items": {
|
| 44 |
+
"anyOf": [
|
| 45 |
+
{
|
| 46 |
+
"$ref": "#/definitions/FileFormat.EventedProfile"
|
| 47 |
+
},
|
| 48 |
+
{
|
| 49 |
+
"$ref": "#/definitions/FileFormat.SampledProfile"
|
| 50 |
+
}
|
| 51 |
+
]
|
| 52 |
+
},
|
| 53 |
+
"title": "profiles"
|
| 54 |
+
},
|
| 55 |
+
"name": {
|
| 56 |
+
"type": "string",
|
| 57 |
+
"title": "name"
|
| 58 |
+
},
|
| 59 |
+
"activeProfileIndex": {
|
| 60 |
+
"type": "number",
|
| 61 |
+
"title": "activeProfileIndex"
|
| 62 |
+
},
|
| 63 |
+
"exporter": {
|
| 64 |
+
"type": "string",
|
| 65 |
+
"title": "exporter"
|
| 66 |
+
}
|
| 67 |
+
},
|
| 68 |
+
"required": [
|
| 69 |
+
"$schema",
|
| 70 |
+
"profiles",
|
| 71 |
+
"shared"
|
| 72 |
+
]
|
| 73 |
+
},
|
| 74 |
+
"FileFormat.Frame": {
|
| 75 |
+
"title": "FileFormat.Frame",
|
| 76 |
+
"type": "object",
|
| 77 |
+
"properties": {
|
| 78 |
+
"name": {
|
| 79 |
+
"type": "string",
|
| 80 |
+
"title": "name"
|
| 81 |
+
},
|
| 82 |
+
"file": {
|
| 83 |
+
"type": "string",
|
| 84 |
+
"title": "file"
|
| 85 |
+
},
|
| 86 |
+
"line": {
|
| 87 |
+
"type": "number",
|
| 88 |
+
"title": "line"
|
| 89 |
+
},
|
| 90 |
+
"col": {
|
| 91 |
+
"type": "number",
|
| 92 |
+
"title": "col"
|
| 93 |
+
}
|
| 94 |
+
},
|
| 95 |
+
"required": [
|
| 96 |
+
"name"
|
| 97 |
+
]
|
| 98 |
+
},
|
| 99 |
+
"FileFormat.ProfileType": {
|
| 100 |
+
"title": "FileFormat.ProfileType",
|
| 101 |
+
"enum": [
|
| 102 |
+
"evented",
|
| 103 |
+
"sampled"
|
| 104 |
+
],
|
| 105 |
+
"type": "string"
|
| 106 |
+
},
|
| 107 |
+
"FileFormat.IProfile": {
|
| 108 |
+
"title": "FileFormat.IProfile",
|
| 109 |
+
"type": "object",
|
| 110 |
+
"properties": {
|
| 111 |
+
"type": {
|
| 112 |
+
"$ref": "#/definitions/FileFormat.ProfileType",
|
| 113 |
+
"title": "type"
|
| 114 |
+
}
|
| 115 |
+
},
|
| 116 |
+
"required": [
|
| 117 |
+
"type"
|
| 118 |
+
]
|
| 119 |
+
},
|
| 120 |
+
"FileFormat.EventedProfile": {
|
| 121 |
+
"title": "FileFormat.EventedProfile",
|
| 122 |
+
"type": "object",
|
| 123 |
+
"properties": {
|
| 124 |
+
"type": {
|
| 125 |
+
"type": "string",
|
| 126 |
+
"enum": [
|
| 127 |
+
"evented"
|
| 128 |
+
],
|
| 129 |
+
"title": "type"
|
| 130 |
+
},
|
| 131 |
+
"name": {
|
| 132 |
+
"type": "string",
|
| 133 |
+
"title": "name"
|
| 134 |
+
},
|
| 135 |
+
"unit": {
|
| 136 |
+
"$ref": "#/definitions/FileFormat.ValueUnit",
|
| 137 |
+
"title": "unit"
|
| 138 |
+
},
|
| 139 |
+
"startValue": {
|
| 140 |
+
"type": "number",
|
| 141 |
+
"title": "startValue"
|
| 142 |
+
},
|
| 143 |
+
"endValue": {
|
| 144 |
+
"type": "number",
|
| 145 |
+
"title": "endValue"
|
| 146 |
+
},
|
| 147 |
+
"events": {
|
| 148 |
+
"type": "array",
|
| 149 |
+
"items": {
|
| 150 |
+
"anyOf": [
|
| 151 |
+
{
|
| 152 |
+
"$ref": "#/definitions/OpenFrameEvent"
|
| 153 |
+
},
|
| 154 |
+
{
|
| 155 |
+
"$ref": "#/definitions/CloseFrameEvent"
|
| 156 |
+
}
|
| 157 |
+
]
|
| 158 |
+
},
|
| 159 |
+
"title": "events"
|
| 160 |
+
}
|
| 161 |
+
},
|
| 162 |
+
"required": [
|
| 163 |
+
"endValue",
|
| 164 |
+
"events",
|
| 165 |
+
"name",
|
| 166 |
+
"startValue",
|
| 167 |
+
"type",
|
| 168 |
+
"unit"
|
| 169 |
+
]
|
| 170 |
+
},
|
| 171 |
+
"SampledStack": {
|
| 172 |
+
"type": "array",
|
| 173 |
+
"items": {
|
| 174 |
+
"type": "number"
|
| 175 |
+
}
|
| 176 |
+
},
|
| 177 |
+
"FileFormat.SampledProfile": {
|
| 178 |
+
"title": "FileFormat.SampledProfile",
|
| 179 |
+
"type": "object",
|
| 180 |
+
"properties": {
|
| 181 |
+
"type": {
|
| 182 |
+
"type": "string",
|
| 183 |
+
"enum": [
|
| 184 |
+
"sampled"
|
| 185 |
+
],
|
| 186 |
+
"title": "type"
|
| 187 |
+
},
|
| 188 |
+
"name": {
|
| 189 |
+
"type": "string",
|
| 190 |
+
"title": "name"
|
| 191 |
+
},
|
| 192 |
+
"unit": {
|
| 193 |
+
"$ref": "#/definitions/FileFormat.ValueUnit",
|
| 194 |
+
"title": "unit"
|
| 195 |
+
},
|
| 196 |
+
"startValue": {
|
| 197 |
+
"type": "number",
|
| 198 |
+
"title": "startValue"
|
| 199 |
+
},
|
| 200 |
+
"endValue": {
|
| 201 |
+
"type": "number",
|
| 202 |
+
"title": "endValue"
|
| 203 |
+
},
|
| 204 |
+
"samples": {
|
| 205 |
+
"type": "array",
|
| 206 |
+
"items": {
|
| 207 |
+
"type": "array",
|
| 208 |
+
"items": {
|
| 209 |
+
"type": "number"
|
| 210 |
+
}
|
| 211 |
+
},
|
| 212 |
+
"title": "samples"
|
| 213 |
+
},
|
| 214 |
+
"weights": {
|
| 215 |
+
"type": "array",
|
| 216 |
+
"items": {
|
| 217 |
+
"type": "number"
|
| 218 |
+
},
|
| 219 |
+
"title": "weights"
|
| 220 |
+
}
|
| 221 |
+
},
|
| 222 |
+
"required": [
|
| 223 |
+
"endValue",
|
| 224 |
+
"name",
|
| 225 |
+
"samples",
|
| 226 |
+
"startValue",
|
| 227 |
+
"type",
|
| 228 |
+
"unit",
|
| 229 |
+
"weights"
|
| 230 |
+
]
|
| 231 |
+
},
|
| 232 |
+
"FileFormat.ValueUnit": {
|
| 233 |
+
"title": "FileFormat.ValueUnit",
|
| 234 |
+
"enum": [
|
| 235 |
+
"bytes",
|
| 236 |
+
"microseconds",
|
| 237 |
+
"milliseconds",
|
| 238 |
+
"nanoseconds",
|
| 239 |
+
"none",
|
| 240 |
+
"seconds"
|
| 241 |
+
],
|
| 242 |
+
"type": "string"
|
| 243 |
+
},
|
| 244 |
+
"FileFormat.EventType": {
|
| 245 |
+
"title": "FileFormat.EventType",
|
| 246 |
+
"enum": [
|
| 247 |
+
"C",
|
| 248 |
+
"O"
|
| 249 |
+
],
|
| 250 |
+
"type": "string"
|
| 251 |
+
},
|
| 252 |
+
"IEvent": {
|
| 253 |
+
"title": "IEvent",
|
| 254 |
+
"type": "object",
|
| 255 |
+
"properties": {
|
| 256 |
+
"type": {
|
| 257 |
+
"$ref": "#/definitions/FileFormat.EventType",
|
| 258 |
+
"title": "type"
|
| 259 |
+
},
|
| 260 |
+
"at": {
|
| 261 |
+
"type": "number",
|
| 262 |
+
"title": "at"
|
| 263 |
+
}
|
| 264 |
+
},
|
| 265 |
+
"required": [
|
| 266 |
+
"at",
|
| 267 |
+
"type"
|
| 268 |
+
]
|
| 269 |
+
},
|
| 270 |
+
"OpenFrameEvent": {
|
| 271 |
+
"title": "OpenFrameEvent",
|
| 272 |
+
"type": "object",
|
| 273 |
+
"properties": {
|
| 274 |
+
"type": {
|
| 275 |
+
"type": "string",
|
| 276 |
+
"enum": [
|
| 277 |
+
"O"
|
| 278 |
+
],
|
| 279 |
+
"title": "type"
|
| 280 |
+
},
|
| 281 |
+
"frame": {
|
| 282 |
+
"type": "number",
|
| 283 |
+
"title": "frame"
|
| 284 |
+
},
|
| 285 |
+
"at": {
|
| 286 |
+
"type": "number",
|
| 287 |
+
"title": "at"
|
| 288 |
+
}
|
| 289 |
+
},
|
| 290 |
+
"required": [
|
| 291 |
+
"at",
|
| 292 |
+
"frame",
|
| 293 |
+
"type"
|
| 294 |
+
]
|
| 295 |
+
},
|
| 296 |
+
"CloseFrameEvent": {
|
| 297 |
+
"title": "CloseFrameEvent",
|
| 298 |
+
"type": "object",
|
| 299 |
+
"properties": {
|
| 300 |
+
"type": {
|
| 301 |
+
"type": "string",
|
| 302 |
+
"enum": [
|
| 303 |
+
"C"
|
| 304 |
+
],
|
| 305 |
+
"title": "type"
|
| 306 |
+
},
|
| 307 |
+
"frame": {
|
| 308 |
+
"type": "number",
|
| 309 |
+
"title": "frame"
|
| 310 |
+
},
|
| 311 |
+
"at": {
|
| 312 |
+
"type": "number",
|
| 313 |
+
"title": "at"
|
| 314 |
+
}
|
| 315 |
+
},
|
| 316 |
+
"required": [
|
| 317 |
+
"at",
|
| 318 |
+
"frame",
|
| 319 |
+
"type"
|
| 320 |
+
]
|
| 321 |
+
}
|
| 322 |
+
},
|
| 323 |
+
"$ref": "#/definitions/FileFormat.File"
|
| 324 |
+
}
|
.venv/lib/python3.11/site-packages/ray/dashboard/client/build/speedscope-1.5.3/import.a03c2bef.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
.venv/lib/python3.11/site-packages/ray/dashboard/client/build/speedscope-1.5.3/index.html
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>speedscope</title> <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet"> <script></script> <link rel="stylesheet" href="reset.7ae984ff.css"> <link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.1165a94e.png"> <link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.361d2b26.png"> </head> <body> <script src="speedscope.75eb7d8e.js"></script> </body> </html>
|
.venv/lib/python3.11/site-packages/ray/dashboard/client/build/speedscope-1.5.3/perf-vertx-stacks-01-collapsed-all.3e0a632c.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
.venv/lib/python3.11/site-packages/ray/dashboard/client/build/speedscope-1.5.3/reset.7ae984ff.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}html{overflow:hidden}body,html{height:100%}body{overflow:auto}
|
.venv/lib/python3.11/site-packages/ray/dashboard/client/build/static/css/main.388a904b.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:100;src:local("Roboto Thin "),local("Roboto-Thin"),url(../../static/media/roboto-latin-100.c2aa4ab115bf9c6057cb.woff2) format("woff2"),url(../../static/media/roboto-latin-100.a45108d3b34af91f9113.woff) format("woff")}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:100;src:local("Roboto Thin italic"),local("Roboto-Thinitalic"),url(../../static/media/roboto-latin-100italic.7f839a8652da29745ce4.woff2) format("woff2"),url(../../static/media/roboto-latin-100italic.451d4e559d6f57cdf6a1.woff) format("woff")}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:300;src:local("Roboto Light "),local("Roboto-Light"),url(../../static/media/roboto-latin-300.37a7069dc30fc663c878.woff2) format("woff2"),url(../../static/media/roboto-latin-300.865f928cbabcc9f8f2b5.woff) format("woff")}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:300;src:local("Roboto Light italic"),local("Roboto-Lightitalic"),url(../../static/media/roboto-latin-300italic.c64e7e354c88e613c77c.woff2) format("woff2"),url(../../static/media/roboto-latin-300italic.bd5b7a13f2c52b531a2a.woff) format("woff")}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:400;src:local("Roboto Regular "),local("Roboto-Regular"),url(../../static/media/roboto-latin-400.176f8f5bd5f02b3abfcf.woff2) format("woff2"),url(../../static/media/roboto-latin-400.49ae34d4cc6b98c00c69.woff) format("woff")}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:400;src:local("Roboto Regular italic"),local("Roboto-Regularitalic"),url(../../static/media/roboto-latin-400italic.d022bc70dc1bf7b3425d.woff2) format("woff2"),url(../../static/media/roboto-latin-400italic.b1d9d9904bfca8802a63.woff) format("woff")}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:500;src:local("Roboto Medium "),local("Roboto-Medium"),url(../../static/media/roboto-latin-500.f5b74d7ffcdf85b9dd60.woff2) format("woff2"),url(../../static/media/roboto-latin-500.cea99d3e3e13a3a599a0.woff) format("woff")}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:500;src:local("Roboto Medium italic"),local("Roboto-Mediumitalic"),url(../../static/media/roboto-latin-500italic.0d8bb5b3ee5f5dac9e44.woff2) format("woff2"),url(../../static/media/roboto-latin-500italic.18d00f739ff1e1c52db1.woff) format("woff")}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:700;src:local("Roboto Bold "),local("Roboto-Bold"),url(../../static/media/roboto-latin-700.c18ee39fb002ad58b6dc.woff2) format("woff2"),url(../../static/media/roboto-latin-700.2267169ee7270a22a963.woff) format("woff")}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:700;src:local("Roboto Bold italic"),local("Roboto-Bolditalic"),url(../../static/media/roboto-latin-700italic.7d8125ff7f707231fd89.woff2) format("woff2"),url(../../static/media/roboto-latin-700italic.9360531f9bb817f917f0.woff) format("woff")}@font-face{font-display:swap;font-family:Roboto;font-style:normal;font-weight:900;src:local("Roboto Black "),local("Roboto-Black"),url(../../static/media/roboto-latin-900.870c8c1486f76054301a.woff2) format("woff2"),url(../../static/media/roboto-latin-900.bac8362e7a6ea60b6983.woff) format("woff")}@font-face{font-display:swap;font-family:Roboto;font-style:italic;font-weight:900;src:local("Roboto Black italic"),local("Roboto-Blackitalic"),url(../../static/media/roboto-latin-900italic.cb5ad999740e9d8a8bd1.woff2) format("woff2"),url(../../static/media/roboto-latin-900italic.c20d916c1a1b094c1cec.woff) format("woff")}.hljs-dark{color:#f8f8f2;display:block;overflow-x:auto;padding:.5em}.hljs-dark .hljs-keyword,.hljs-dark .hljs-link,.hljs-dark .hljs-literal,.hljs-dark .hljs-number,.hljs-dark .hljs-section,.hljs-dark .hljs-selector-tag{color:#8be9fd}.hljs-dark .hljs-function .hljs-keyword{color:#ff79c6}.hljs-dark .hljs-addition,.hljs-dark .hljs-attribute,.hljs-dark .hljs-bullet,.hljs-dark .hljs-name,.hljs-dark .hljs-string,.hljs-dark .hljs-symbol,.hljs-dark .hljs-template-tag,.hljs-dark .hljs-template-variable,.hljs-dark .hljs-title,.hljs-dark .hljs-type,.hljs-dark .hljs-variable{color:#f1fa8c}.hljs-dark .hljs-comment,.hljs-dark .hljs-deletion,.hljs-dark .hljs-meta,.hljs-dark .hljs-quote{color:#6272a4}.hljs-dark .hljs-doctag,.hljs-dark .hljs-keyword,.hljs-dark .hljs-literal,.hljs-dark .hljs-name,.hljs-dark .hljs-section,.hljs-dark .hljs-selector-tag,.hljs-dark .hljs-strong,.hljs-dark .hljs-title,.hljs-dark .hljs-type{font-weight:700}.hljs-dark .hljs-emphasis{font-style:italic}.hljs-light{color:#333;display:block;overflow-x:auto;padding:.5em}.hljs-light .hljs-comment,.hljs-light .hljs-quote{color:#998;font-style:italic}.hljs-light .hljs-keyword,.hljs-light .hljs-selector-tag,.hljs-light .hljs-subst{color:#333;font-weight:700}.hljs-light .hljs-literal,.hljs-light .hljs-number,.hljs-light .hljs-tag .hljs-attr,.hljs-light .hljs-template-variable,.hljs-light .hljs-variable{color:teal}.hljs-light .hljs-doctag,.hljs-light .hljs-string{color:#d14}.hljs-light .hljs-section,.hljs-light .hljs-selector-id,.hljs-light .hljs-title{color:#900;font-weight:700}.hljs-light .hljs-subst{font-weight:400}.hljs-light .hljs-class .hljs-title,.hljs-light .hljs-type{color:#458;font-weight:700}.hljs-light .hljs-attribute,.hljs-light .hljs-name,.hljs-light .hljs-tag{color:navy;font-weight:400}.hljs-light .hljs-link,.hljs-light .hljs-regexp{color:#009926}.hljs-light .hljs-bullet,.hljs-light .hljs-symbol{color:#990073}.hljs-light .hljs-built_in,.hljs-light .hljs-builtin-name{color:#0086b3}.hljs-light .hljs-meta{color:#999;font-weight:700}.hljs-light .hljs-deletion{background:#fdd}.hljs-light .hljs-addition{background:#dfd}.hljs-light .hljs-emphasis{font-style:italic}.hljs-light .hljs-strong{font-weight:700}span.find-kws{background-color:#ffd800}
|
| 2 |
+
/*# sourceMappingURL=main.388a904b.css.map*/
|
.venv/lib/python3.11/site-packages/ray/dashboard/client/build/static/js/main.378317da.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
.venv/lib/python3.11/site-packages/ray/dashboard/client/build/static/js/main.378317da.js.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/__init__.py
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from ray.experimental.dynamic_resources import set_resource
|
| 2 |
+
from ray.experimental.locations import get_local_object_locations, get_object_locations
|
| 3 |
+
from ray.experimental.packaging.load_package import load_package
|
| 4 |
+
|
| 5 |
+
__all__ = [
|
| 6 |
+
"get_object_locations",
|
| 7 |
+
"get_local_object_locations",
|
| 8 |
+
"set_resource",
|
| 9 |
+
"load_package",
|
| 10 |
+
]
|
.venv/lib/python3.11/site-packages/ray/experimental/__pycache__/__init__.cpython-311.pyc
ADDED
|
Binary file (550 Bytes). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/__pycache__/compiled_dag_ref.cpython-311.pyc
ADDED
|
Binary file (10.5 kB). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/__pycache__/dynamic_resources.cpython-311.pyc
ADDED
|
Binary file (652 Bytes). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/__pycache__/gradio_utils.cpython-311.pyc
ADDED
|
Binary file (776 Bytes). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/__pycache__/internal_kv.cpython-311.pyc
ADDED
|
Binary file (5.93 kB). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/__pycache__/locations.cpython-311.pyc
ADDED
|
Binary file (3.62 kB). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/__pycache__/queue.cpython-311.pyc
ADDED
|
Binary file (584 Bytes). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/__pycache__/shuffle.cpython-311.pyc
ADDED
|
Binary file (19 kB). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/__pycache__/tf_utils.cpython-311.pyc
ADDED
|
Binary file (14.5 kB). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/__pycache__/tqdm_ray.cpython-311.pyc
ADDED
|
Binary file (22.6 kB). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/array/__init__.py
ADDED
|
File without changes
|
.venv/lib/python3.11/site-packages/ray/experimental/array/distributed/__init__.py
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from . import linalg, random
|
| 2 |
+
from .core import (
|
| 3 |
+
BLOCK_SIZE,
|
| 4 |
+
DistArray,
|
| 5 |
+
add,
|
| 6 |
+
assemble,
|
| 7 |
+
blockwise_dot,
|
| 8 |
+
copy,
|
| 9 |
+
dot,
|
| 10 |
+
eye,
|
| 11 |
+
numpy_to_dist,
|
| 12 |
+
ones,
|
| 13 |
+
subblocks,
|
| 14 |
+
subtract,
|
| 15 |
+
transpose,
|
| 16 |
+
tril,
|
| 17 |
+
triu,
|
| 18 |
+
zeros,
|
| 19 |
+
)
|
| 20 |
+
|
| 21 |
+
__all__ = [
|
| 22 |
+
"random",
|
| 23 |
+
"linalg",
|
| 24 |
+
"BLOCK_SIZE",
|
| 25 |
+
"DistArray",
|
| 26 |
+
"assemble",
|
| 27 |
+
"zeros",
|
| 28 |
+
"ones",
|
| 29 |
+
"copy",
|
| 30 |
+
"eye",
|
| 31 |
+
"triu",
|
| 32 |
+
"tril",
|
| 33 |
+
"blockwise_dot",
|
| 34 |
+
"dot",
|
| 35 |
+
"transpose",
|
| 36 |
+
"add",
|
| 37 |
+
"subtract",
|
| 38 |
+
"numpy_to_dist",
|
| 39 |
+
"subblocks",
|
| 40 |
+
]
|
.venv/lib/python3.11/site-packages/ray/experimental/array/distributed/__pycache__/core.cpython-311.pyc
ADDED
|
Binary file (19.7 kB). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/array/distributed/core.py
ADDED
|
@@ -0,0 +1,316 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import numpy as np
|
| 2 |
+
|
| 3 |
+
import ray
|
| 4 |
+
import ray.experimental.array.remote as ra
|
| 5 |
+
|
| 6 |
+
BLOCK_SIZE = 10
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
class DistArray:
|
| 10 |
+
def __init__(self, shape, object_refs=None):
|
| 11 |
+
self.shape = shape
|
| 12 |
+
self.ndim = len(shape)
|
| 13 |
+
self.num_blocks = [int(np.ceil(1.0 * a / BLOCK_SIZE)) for a in self.shape]
|
| 14 |
+
if object_refs is not None:
|
| 15 |
+
self.object_refs = object_refs
|
| 16 |
+
else:
|
| 17 |
+
self.object_refs = np.empty(self.num_blocks, dtype=object)
|
| 18 |
+
if self.num_blocks != list(self.object_refs.shape):
|
| 19 |
+
raise Exception(
|
| 20 |
+
"The fields `num_blocks` and `object_refs` are "
|
| 21 |
+
"inconsistent, `num_blocks` is {} and `object_refs` "
|
| 22 |
+
"has shape {}".format(self.num_blocks, list(self.object_refs.shape))
|
| 23 |
+
)
|
| 24 |
+
|
| 25 |
+
@staticmethod
|
| 26 |
+
def compute_block_lower(index, shape):
|
| 27 |
+
if len(index) != len(shape):
|
| 28 |
+
raise Exception(
|
| 29 |
+
"The fields `index` and `shape` must have the "
|
| 30 |
+
"same length, but `index` is {} and `shape` is "
|
| 31 |
+
"{}.".format(index, shape)
|
| 32 |
+
)
|
| 33 |
+
return [elem * BLOCK_SIZE for elem in index]
|
| 34 |
+
|
| 35 |
+
@staticmethod
|
| 36 |
+
def compute_block_upper(index, shape):
|
| 37 |
+
if len(index) != len(shape):
|
| 38 |
+
raise Exception(
|
| 39 |
+
"The fields `index` and `shape` must have the "
|
| 40 |
+
"same length, but `index` is {} and `shape` is "
|
| 41 |
+
"{}.".format(index, shape)
|
| 42 |
+
)
|
| 43 |
+
upper = []
|
| 44 |
+
for i in range(len(shape)):
|
| 45 |
+
upper.append(min((index[i] + 1) * BLOCK_SIZE, shape[i]))
|
| 46 |
+
return upper
|
| 47 |
+
|
| 48 |
+
@staticmethod
|
| 49 |
+
def compute_block_shape(index, shape):
|
| 50 |
+
lower = DistArray.compute_block_lower(index, shape)
|
| 51 |
+
upper = DistArray.compute_block_upper(index, shape)
|
| 52 |
+
return [u - l for (l, u) in zip(lower, upper)]
|
| 53 |
+
|
| 54 |
+
@staticmethod
|
| 55 |
+
def compute_num_blocks(shape):
|
| 56 |
+
return [int(np.ceil(1.0 * a / BLOCK_SIZE)) for a in shape]
|
| 57 |
+
|
| 58 |
+
def assemble(self):
|
| 59 |
+
"""Assemble an array from a distributed array of object refs."""
|
| 60 |
+
first_block = ray.get(self.object_refs[(0,) * self.ndim])
|
| 61 |
+
dtype = first_block.dtype
|
| 62 |
+
result = np.zeros(self.shape, dtype=dtype)
|
| 63 |
+
for index in np.ndindex(*self.num_blocks):
|
| 64 |
+
lower = DistArray.compute_block_lower(index, self.shape)
|
| 65 |
+
upper = DistArray.compute_block_upper(index, self.shape)
|
| 66 |
+
value = ray.get(self.object_refs[index])
|
| 67 |
+
result[tuple(slice(l, u) for (l, u) in zip(lower, upper))] = value
|
| 68 |
+
return result
|
| 69 |
+
|
| 70 |
+
def __getitem__(self, sliced):
|
| 71 |
+
# TODO(rkn): Fix this, this is just a placeholder that should work but
|
| 72 |
+
# is inefficient.
|
| 73 |
+
a = self.assemble()
|
| 74 |
+
return a[sliced]
|
| 75 |
+
|
| 76 |
+
|
| 77 |
+
@ray.remote
|
| 78 |
+
def assemble(a):
|
| 79 |
+
return a.assemble()
|
| 80 |
+
|
| 81 |
+
|
| 82 |
+
# TODO(rkn): What should we call this method?
|
| 83 |
+
@ray.remote
|
| 84 |
+
def numpy_to_dist(a):
|
| 85 |
+
result = DistArray(a.shape)
|
| 86 |
+
for index in np.ndindex(*result.num_blocks):
|
| 87 |
+
lower = DistArray.compute_block_lower(index, a.shape)
|
| 88 |
+
upper = DistArray.compute_block_upper(index, a.shape)
|
| 89 |
+
idx = tuple(slice(l, u) for (l, u) in zip(lower, upper))
|
| 90 |
+
result.object_refs[index] = ray.put(a[idx])
|
| 91 |
+
return result
|
| 92 |
+
|
| 93 |
+
|
| 94 |
+
@ray.remote
|
| 95 |
+
def zeros(shape, dtype_name="float"):
|
| 96 |
+
result = DistArray(shape)
|
| 97 |
+
for index in np.ndindex(*result.num_blocks):
|
| 98 |
+
result.object_refs[index] = ra.zeros.remote(
|
| 99 |
+
DistArray.compute_block_shape(index, shape), dtype_name=dtype_name
|
| 100 |
+
)
|
| 101 |
+
return result
|
| 102 |
+
|
| 103 |
+
|
| 104 |
+
@ray.remote
|
| 105 |
+
def ones(shape, dtype_name="float"):
|
| 106 |
+
result = DistArray(shape)
|
| 107 |
+
for index in np.ndindex(*result.num_blocks):
|
| 108 |
+
result.object_refs[index] = ra.ones.remote(
|
| 109 |
+
DistArray.compute_block_shape(index, shape), dtype_name=dtype_name
|
| 110 |
+
)
|
| 111 |
+
return result
|
| 112 |
+
|
| 113 |
+
|
| 114 |
+
@ray.remote
|
| 115 |
+
def copy(a):
|
| 116 |
+
result = DistArray(a.shape)
|
| 117 |
+
for index in np.ndindex(*result.num_blocks):
|
| 118 |
+
# We don't need to actually copy the objects because remote objects are
|
| 119 |
+
# immutable.
|
| 120 |
+
result.object_refs[index] = a.object_refs[index]
|
| 121 |
+
return result
|
| 122 |
+
|
| 123 |
+
|
| 124 |
+
@ray.remote
|
| 125 |
+
def eye(dim1, dim2=-1, dtype_name="float"):
|
| 126 |
+
dim2 = dim1 if dim2 == -1 else dim2
|
| 127 |
+
shape = [dim1, dim2]
|
| 128 |
+
result = DistArray(shape)
|
| 129 |
+
for (i, j) in np.ndindex(*result.num_blocks):
|
| 130 |
+
block_shape = DistArray.compute_block_shape([i, j], shape)
|
| 131 |
+
if i == j:
|
| 132 |
+
result.object_refs[i, j] = ra.eye.remote(
|
| 133 |
+
block_shape[0], block_shape[1], dtype_name=dtype_name
|
| 134 |
+
)
|
| 135 |
+
else:
|
| 136 |
+
result.object_refs[i, j] = ra.zeros.remote(
|
| 137 |
+
block_shape, dtype_name=dtype_name
|
| 138 |
+
)
|
| 139 |
+
return result
|
| 140 |
+
|
| 141 |
+
|
| 142 |
+
@ray.remote
|
| 143 |
+
def triu(a):
|
| 144 |
+
if a.ndim != 2:
|
| 145 |
+
raise Exception(
|
| 146 |
+
"Input must have 2 dimensions, but a.ndim is {}.".format(a.ndim)
|
| 147 |
+
)
|
| 148 |
+
result = DistArray(a.shape)
|
| 149 |
+
for (i, j) in np.ndindex(*result.num_blocks):
|
| 150 |
+
if i < j:
|
| 151 |
+
result.object_refs[i, j] = ra.copy.remote(a.object_refs[i, j])
|
| 152 |
+
elif i == j:
|
| 153 |
+
result.object_refs[i, j] = ra.triu.remote(a.object_refs[i, j])
|
| 154 |
+
else:
|
| 155 |
+
result.object_refs[i, j] = ra.zeros_like.remote(a.object_refs[i, j])
|
| 156 |
+
return result
|
| 157 |
+
|
| 158 |
+
|
| 159 |
+
@ray.remote
|
| 160 |
+
def tril(a):
|
| 161 |
+
if a.ndim != 2:
|
| 162 |
+
raise Exception(
|
| 163 |
+
"Input must have 2 dimensions, but a.ndim is {}.".format(a.ndim)
|
| 164 |
+
)
|
| 165 |
+
result = DistArray(a.shape)
|
| 166 |
+
for (i, j) in np.ndindex(*result.num_blocks):
|
| 167 |
+
if i > j:
|
| 168 |
+
result.object_refs[i, j] = ra.copy.remote(a.object_refs[i, j])
|
| 169 |
+
elif i == j:
|
| 170 |
+
result.object_refs[i, j] = ra.tril.remote(a.object_refs[i, j])
|
| 171 |
+
else:
|
| 172 |
+
result.object_refs[i, j] = ra.zeros_like.remote(a.object_refs[i, j])
|
| 173 |
+
return result
|
| 174 |
+
|
| 175 |
+
|
| 176 |
+
@ray.remote
|
| 177 |
+
def blockwise_dot(*matrices):
|
| 178 |
+
n = len(matrices)
|
| 179 |
+
if n % 2 != 0:
|
| 180 |
+
raise Exception(
|
| 181 |
+
"blockwise_dot expects an even number of arguments, "
|
| 182 |
+
"but len(matrices) is {}.".format(n)
|
| 183 |
+
)
|
| 184 |
+
shape = (matrices[0].shape[0], matrices[n // 2].shape[1])
|
| 185 |
+
result = np.zeros(shape)
|
| 186 |
+
for i in range(n // 2):
|
| 187 |
+
result += np.dot(matrices[i], matrices[n // 2 + i])
|
| 188 |
+
return result
|
| 189 |
+
|
| 190 |
+
|
| 191 |
+
@ray.remote
|
| 192 |
+
def dot(a, b):
|
| 193 |
+
if a.ndim != 2:
|
| 194 |
+
raise Exception(
|
| 195 |
+
"dot expects its arguments to be 2-dimensional, but "
|
| 196 |
+
"a.ndim = {}.".format(a.ndim)
|
| 197 |
+
)
|
| 198 |
+
if b.ndim != 2:
|
| 199 |
+
raise Exception(
|
| 200 |
+
"dot expects its arguments to be 2-dimensional, but "
|
| 201 |
+
"b.ndim = {}.".format(b.ndim)
|
| 202 |
+
)
|
| 203 |
+
if a.shape[1] != b.shape[0]:
|
| 204 |
+
raise Exception(
|
| 205 |
+
"dot expects a.shape[1] to equal b.shape[0], but "
|
| 206 |
+
"a.shape = {} and b.shape = {}.".format(a.shape, b.shape)
|
| 207 |
+
)
|
| 208 |
+
shape = [a.shape[0], b.shape[1]]
|
| 209 |
+
result = DistArray(shape)
|
| 210 |
+
for (i, j) in np.ndindex(*result.num_blocks):
|
| 211 |
+
args = list(a.object_refs[i, :]) + list(b.object_refs[:, j])
|
| 212 |
+
result.object_refs[i, j] = blockwise_dot.remote(*args)
|
| 213 |
+
return result
|
| 214 |
+
|
| 215 |
+
|
| 216 |
+
@ray.remote
|
| 217 |
+
def subblocks(a, *ranges):
|
| 218 |
+
"""
|
| 219 |
+
This function produces a distributed array from a subset of the blocks in
|
| 220 |
+
the `a`. The result and `a` will have the same number of dimensions. For
|
| 221 |
+
example,
|
| 222 |
+
subblocks(a, [0, 1], [2, 4])
|
| 223 |
+
will produce a DistArray whose object_refs are
|
| 224 |
+
[[a.object_refs[0, 2], a.object_refs[0, 4]],
|
| 225 |
+
[a.object_refs[1, 2], a.object_refs[1, 4]]]
|
| 226 |
+
We allow the user to pass in an empty list [] to indicate the full range.
|
| 227 |
+
"""
|
| 228 |
+
ranges = list(ranges)
|
| 229 |
+
if len(ranges) != a.ndim:
|
| 230 |
+
raise Exception(
|
| 231 |
+
"sub_blocks expects to receive a number of ranges "
|
| 232 |
+
"equal to a.ndim, but it received {} ranges and "
|
| 233 |
+
"a.ndim = {}.".format(len(ranges), a.ndim)
|
| 234 |
+
)
|
| 235 |
+
for i in range(len(ranges)):
|
| 236 |
+
# We allow the user to pass in an empty list to indicate the full
|
| 237 |
+
# range.
|
| 238 |
+
if ranges[i] == []:
|
| 239 |
+
ranges[i] = range(a.num_blocks[i])
|
| 240 |
+
if not np.alltrue(ranges[i] == np.sort(ranges[i])):
|
| 241 |
+
raise Exception(
|
| 242 |
+
"Ranges passed to sub_blocks must be sorted, but "
|
| 243 |
+
"the {}th range is {}.".format(i, ranges[i])
|
| 244 |
+
)
|
| 245 |
+
if ranges[i][0] < 0:
|
| 246 |
+
raise Exception(
|
| 247 |
+
"Values in the ranges passed to sub_blocks must "
|
| 248 |
+
"be at least 0, but the {}th range is {}.".format(i, ranges[i])
|
| 249 |
+
)
|
| 250 |
+
if ranges[i][-1] >= a.num_blocks[i]:
|
| 251 |
+
raise Exception(
|
| 252 |
+
"Values in the ranges passed to sub_blocks must "
|
| 253 |
+
"be less than the relevant number of blocks, but "
|
| 254 |
+
"the {}th range is {}, and a.num_blocks = {}.".format(
|
| 255 |
+
i, ranges[i], a.num_blocks
|
| 256 |
+
)
|
| 257 |
+
)
|
| 258 |
+
last_index = [r[-1] for r in ranges]
|
| 259 |
+
last_block_shape = DistArray.compute_block_shape(last_index, a.shape)
|
| 260 |
+
shape = [
|
| 261 |
+
(len(ranges[i]) - 1) * BLOCK_SIZE + last_block_shape[i] for i in range(a.ndim)
|
| 262 |
+
]
|
| 263 |
+
result = DistArray(shape)
|
| 264 |
+
for index in np.ndindex(*result.num_blocks):
|
| 265 |
+
result.object_refs[index] = a.object_refs[
|
| 266 |
+
tuple(ranges[i][index[i]] for i in range(a.ndim))
|
| 267 |
+
]
|
| 268 |
+
return result
|
| 269 |
+
|
| 270 |
+
|
| 271 |
+
@ray.remote
|
| 272 |
+
def transpose(a):
|
| 273 |
+
if a.ndim != 2:
|
| 274 |
+
raise Exception(
|
| 275 |
+
"transpose expects its argument to be 2-dimensional, "
|
| 276 |
+
"but a.ndim = {}, a.shape = {}.".format(a.ndim, a.shape)
|
| 277 |
+
)
|
| 278 |
+
result = DistArray([a.shape[1], a.shape[0]])
|
| 279 |
+
for i in range(result.num_blocks[0]):
|
| 280 |
+
for j in range(result.num_blocks[1]):
|
| 281 |
+
result.object_refs[i, j] = ra.transpose.remote(a.object_refs[j, i])
|
| 282 |
+
return result
|
| 283 |
+
|
| 284 |
+
|
| 285 |
+
# TODO(rkn): support broadcasting?
|
| 286 |
+
@ray.remote
|
| 287 |
+
def add(x1, x2):
|
| 288 |
+
if x1.shape != x2.shape:
|
| 289 |
+
raise Exception(
|
| 290 |
+
"add expects arguments `x1` and `x2` to have the same "
|
| 291 |
+
"shape, but x1.shape = {}, and x2.shape = {}.".format(x1.shape, x2.shape)
|
| 292 |
+
)
|
| 293 |
+
result = DistArray(x1.shape)
|
| 294 |
+
for index in np.ndindex(*result.num_blocks):
|
| 295 |
+
result.object_refs[index] = ra.add.remote(
|
| 296 |
+
x1.object_refs[index], x2.object_refs[index]
|
| 297 |
+
)
|
| 298 |
+
return result
|
| 299 |
+
|
| 300 |
+
|
| 301 |
+
# TODO(rkn): support broadcasting?
|
| 302 |
+
@ray.remote
|
| 303 |
+
def subtract(x1, x2):
|
| 304 |
+
if x1.shape != x2.shape:
|
| 305 |
+
raise Exception(
|
| 306 |
+
"subtract expects arguments `x1` and `x2` to have the "
|
| 307 |
+
"same shape, but x1.shape = {}, and x2.shape = {}.".format(
|
| 308 |
+
x1.shape, x2.shape
|
| 309 |
+
)
|
| 310 |
+
)
|
| 311 |
+
result = DistArray(x1.shape)
|
| 312 |
+
for index in np.ndindex(*result.num_blocks):
|
| 313 |
+
result.object_refs[index] = ra.subtract.remote(
|
| 314 |
+
x1.object_refs[index], x2.object_refs[index]
|
| 315 |
+
)
|
| 316 |
+
return result
|
.venv/lib/python3.11/site-packages/ray/experimental/array/distributed/linalg.py
ADDED
|
@@ -0,0 +1,231 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import numpy as np
|
| 2 |
+
|
| 3 |
+
import ray
|
| 4 |
+
import ray.experimental.array.remote as ra
|
| 5 |
+
from . import core
|
| 6 |
+
|
| 7 |
+
__all__ = ["tsqr", "modified_lu", "tsqr_hr", "qr"]
|
| 8 |
+
|
| 9 |
+
|
| 10 |
+
@ray.remote(num_returns=2)
|
| 11 |
+
def tsqr(a):
|
| 12 |
+
"""Perform a QR decomposition of a tall-skinny matrix.
|
| 13 |
+
|
| 14 |
+
Args:
|
| 15 |
+
a: A distributed matrix with shape MxN (suppose K = min(M, N)).
|
| 16 |
+
|
| 17 |
+
Returns:
|
| 18 |
+
A tuple of q (a DistArray) and r (a numpy array) satisfying the
|
| 19 |
+
following.
|
| 20 |
+
- If q_full = ray.get(DistArray, q).assemble(), then
|
| 21 |
+
q_full.shape == (M, K).
|
| 22 |
+
- np.allclose(np.dot(q_full.T, q_full), np.eye(K)) == True.
|
| 23 |
+
- If r_val = ray.get(np.ndarray, r), then r_val.shape == (K, N).
|
| 24 |
+
- np.allclose(r, np.triu(r)) == True.
|
| 25 |
+
"""
|
| 26 |
+
if len(a.shape) != 2:
|
| 27 |
+
raise Exception(
|
| 28 |
+
"tsqr requires len(a.shape) == 2, but a.shape is {}".format(a.shape)
|
| 29 |
+
)
|
| 30 |
+
if a.num_blocks[1] != 1:
|
| 31 |
+
raise Exception(
|
| 32 |
+
"tsqr requires a.num_blocks[1] == 1, but a.num_blocks "
|
| 33 |
+
"is {}".format(a.num_blocks)
|
| 34 |
+
)
|
| 35 |
+
|
| 36 |
+
num_blocks = a.num_blocks[0]
|
| 37 |
+
K = int(np.ceil(np.log2(num_blocks))) + 1
|
| 38 |
+
q_tree = np.empty((num_blocks, K), dtype=object)
|
| 39 |
+
current_rs = []
|
| 40 |
+
for i in range(num_blocks):
|
| 41 |
+
block = a.object_refs[i, 0]
|
| 42 |
+
q, r = ra.linalg.qr.remote(block)
|
| 43 |
+
q_tree[i, 0] = q
|
| 44 |
+
current_rs.append(r)
|
| 45 |
+
for j in range(1, K):
|
| 46 |
+
new_rs = []
|
| 47 |
+
for i in range(int(np.ceil(1.0 * len(current_rs) / 2))):
|
| 48 |
+
stacked_rs = ra.vstack.remote(*current_rs[(2 * i) : (2 * i + 2)])
|
| 49 |
+
q, r = ra.linalg.qr.remote(stacked_rs)
|
| 50 |
+
q_tree[i, j] = q
|
| 51 |
+
new_rs.append(r)
|
| 52 |
+
current_rs = new_rs
|
| 53 |
+
assert len(current_rs) == 1, "len(current_rs) = " + str(len(current_rs))
|
| 54 |
+
|
| 55 |
+
# handle the special case in which the whole DistArray "a" fits in one
|
| 56 |
+
# block and has fewer rows than columns, this is a bit ugly so think about
|
| 57 |
+
# how to remove it
|
| 58 |
+
if a.shape[0] >= a.shape[1]:
|
| 59 |
+
q_shape = a.shape
|
| 60 |
+
else:
|
| 61 |
+
q_shape = [a.shape[0], a.shape[0]]
|
| 62 |
+
q_num_blocks = core.DistArray.compute_num_blocks(q_shape)
|
| 63 |
+
q_object_refs = np.empty(q_num_blocks, dtype=object)
|
| 64 |
+
q_result = core.DistArray(q_shape, q_object_refs)
|
| 65 |
+
|
| 66 |
+
# reconstruct output
|
| 67 |
+
for i in range(num_blocks):
|
| 68 |
+
q_block_current = q_tree[i, 0]
|
| 69 |
+
ith_index = i
|
| 70 |
+
for j in range(1, K):
|
| 71 |
+
if np.mod(ith_index, 2) == 0:
|
| 72 |
+
lower = [0, 0]
|
| 73 |
+
upper = [a.shape[1], core.BLOCK_SIZE]
|
| 74 |
+
else:
|
| 75 |
+
lower = [a.shape[1], 0]
|
| 76 |
+
upper = [2 * a.shape[1], core.BLOCK_SIZE]
|
| 77 |
+
ith_index //= 2
|
| 78 |
+
q_block_current = ra.dot.remote(
|
| 79 |
+
q_block_current, ra.subarray.remote(q_tree[ith_index, j], lower, upper)
|
| 80 |
+
)
|
| 81 |
+
q_result.object_refs[i] = q_block_current
|
| 82 |
+
r = current_rs[0]
|
| 83 |
+
return q_result, ray.get(r)
|
| 84 |
+
|
| 85 |
+
|
| 86 |
+
# TODO(rkn): This is unoptimized, we really want a block version of this.
|
| 87 |
+
# This is Algorithm 5 from
|
| 88 |
+
# http://www.eecs.berkeley.edu/Pubs/TechRpts/2013/EECS-2013-175.pdf.
|
| 89 |
+
@ray.remote(num_returns=3)
|
| 90 |
+
def modified_lu(q):
|
| 91 |
+
"""Perform a modified LU decomposition of a matrix.
|
| 92 |
+
|
| 93 |
+
This takes a matrix q with orthonormal columns, returns l, u, s such that
|
| 94 |
+
q - s = l * u.
|
| 95 |
+
|
| 96 |
+
Args:
|
| 97 |
+
q: A two dimensional orthonormal matrix q.
|
| 98 |
+
|
| 99 |
+
Returns:
|
| 100 |
+
A tuple of a lower triangular matrix l, an upper triangular matrix u,
|
| 101 |
+
and a a vector representing a diagonal matrix s such that
|
| 102 |
+
q - s = l * u.
|
| 103 |
+
"""
|
| 104 |
+
q = q.assemble()
|
| 105 |
+
m, b = q.shape[0], q.shape[1]
|
| 106 |
+
S = np.zeros(b)
|
| 107 |
+
|
| 108 |
+
q_work = np.copy(q)
|
| 109 |
+
|
| 110 |
+
for i in range(b):
|
| 111 |
+
S[i] = -1 * np.sign(q_work[i, i])
|
| 112 |
+
q_work[i, i] -= S[i]
|
| 113 |
+
# Scale ith column of L by diagonal element.
|
| 114 |
+
q_work[(i + 1) : m, i] /= q_work[i, i]
|
| 115 |
+
# Perform Schur complement update.
|
| 116 |
+
q_work[(i + 1) : m, (i + 1) : b] -= np.outer(
|
| 117 |
+
q_work[(i + 1) : m, i], q_work[i, (i + 1) : b]
|
| 118 |
+
)
|
| 119 |
+
|
| 120 |
+
L = np.tril(q_work)
|
| 121 |
+
for i in range(b):
|
| 122 |
+
L[i, i] = 1
|
| 123 |
+
U = np.triu(q_work)[:b, :]
|
| 124 |
+
# TODO(rkn): Get rid of the put below.
|
| 125 |
+
return ray.get(core.numpy_to_dist.remote(ray.put(L))), U, S
|
| 126 |
+
|
| 127 |
+
|
| 128 |
+
@ray.remote(num_returns=2)
|
| 129 |
+
def tsqr_hr_helper1(u, s, y_top_block, b):
|
| 130 |
+
y_top = y_top_block[:b, :b]
|
| 131 |
+
s_full = np.diag(s)
|
| 132 |
+
t = -1 * np.dot(u, np.dot(s_full, np.linalg.inv(y_top).T))
|
| 133 |
+
return t, y_top
|
| 134 |
+
|
| 135 |
+
|
| 136 |
+
@ray.remote
|
| 137 |
+
def tsqr_hr_helper2(s, r_temp):
|
| 138 |
+
s_full = np.diag(s)
|
| 139 |
+
return np.dot(s_full, r_temp)
|
| 140 |
+
|
| 141 |
+
|
| 142 |
+
# This is Algorithm 6 from
|
| 143 |
+
# http://www.eecs.berkeley.edu/Pubs/TechRpts/2013/EECS-2013-175.pdf.
|
| 144 |
+
@ray.remote(num_returns=4)
|
| 145 |
+
def tsqr_hr(a):
|
| 146 |
+
q, r_temp = tsqr.remote(a)
|
| 147 |
+
y, u, s = modified_lu.remote(q)
|
| 148 |
+
y_blocked = ray.get(y)
|
| 149 |
+
t, y_top = tsqr_hr_helper1.remote(u, s, y_blocked.object_refs[0, 0], a.shape[1])
|
| 150 |
+
r = tsqr_hr_helper2.remote(s, r_temp)
|
| 151 |
+
return ray.get(y), ray.get(t), ray.get(y_top), ray.get(r)
|
| 152 |
+
|
| 153 |
+
|
| 154 |
+
@ray.remote
|
| 155 |
+
def qr_helper1(a_rc, y_ri, t, W_c):
|
| 156 |
+
return a_rc - np.dot(y_ri, np.dot(t.T, W_c))
|
| 157 |
+
|
| 158 |
+
|
| 159 |
+
@ray.remote
|
| 160 |
+
def qr_helper2(y_ri, a_rc):
|
| 161 |
+
return np.dot(y_ri.T, a_rc)
|
| 162 |
+
|
| 163 |
+
|
| 164 |
+
# This is Algorithm 7 from
|
| 165 |
+
# http://www.eecs.berkeley.edu/Pubs/TechRpts/2013/EECS-2013-175.pdf.
|
| 166 |
+
@ray.remote(num_returns=2)
|
| 167 |
+
def qr(a):
|
| 168 |
+
|
| 169 |
+
m, n = a.shape[0], a.shape[1]
|
| 170 |
+
k = min(m, n)
|
| 171 |
+
|
| 172 |
+
# we will store our scratch work in a_work
|
| 173 |
+
a_work = core.DistArray(a.shape, np.copy(a.object_refs))
|
| 174 |
+
|
| 175 |
+
result_dtype = np.linalg.qr(ray.get(a.object_refs[0, 0]))[0].dtype.name
|
| 176 |
+
# TODO(rkn): It would be preferable not to get this right after creating
|
| 177 |
+
# it.
|
| 178 |
+
r_res = ray.get(core.zeros.remote([k, n], result_dtype))
|
| 179 |
+
# TODO(rkn): It would be preferable not to get this right after creating
|
| 180 |
+
# it.
|
| 181 |
+
y_res = ray.get(core.zeros.remote([m, k], result_dtype))
|
| 182 |
+
Ts = []
|
| 183 |
+
|
| 184 |
+
# The for loop differs from the paper, which says
|
| 185 |
+
# "for i in range(a.num_blocks[1])", but that doesn't seem to make any
|
| 186 |
+
# sense when a.num_blocks[1] > a.num_blocks[0].
|
| 187 |
+
for i in range(min(a.num_blocks[0], a.num_blocks[1])):
|
| 188 |
+
sub_dist_array = core.subblocks.remote(
|
| 189 |
+
a_work, list(range(i, a_work.num_blocks[0])), [i]
|
| 190 |
+
)
|
| 191 |
+
y, t, _, R = tsqr_hr.remote(sub_dist_array)
|
| 192 |
+
y_val = ray.get(y)
|
| 193 |
+
|
| 194 |
+
for j in range(i, a.num_blocks[0]):
|
| 195 |
+
y_res.object_refs[j, i] = y_val.object_refs[j - i, 0]
|
| 196 |
+
if a.shape[0] > a.shape[1]:
|
| 197 |
+
# in this case, R needs to be square
|
| 198 |
+
R_shape = ray.get(ra.shape.remote(R))
|
| 199 |
+
eye_temp = ra.eye.remote(R_shape[1], R_shape[0], dtype_name=result_dtype)
|
| 200 |
+
r_res.object_refs[i, i] = ra.dot.remote(eye_temp, R)
|
| 201 |
+
else:
|
| 202 |
+
r_res.object_refs[i, i] = R
|
| 203 |
+
Ts.append(core.numpy_to_dist.remote(t))
|
| 204 |
+
|
| 205 |
+
for c in range(i + 1, a.num_blocks[1]):
|
| 206 |
+
W_rcs = []
|
| 207 |
+
for r in range(i, a.num_blocks[0]):
|
| 208 |
+
y_ri = y_val.object_refs[r - i, 0]
|
| 209 |
+
W_rcs.append(qr_helper2.remote(y_ri, a_work.object_refs[r, c]))
|
| 210 |
+
W_c = ra.sum_list.remote(*W_rcs)
|
| 211 |
+
for r in range(i, a.num_blocks[0]):
|
| 212 |
+
y_ri = y_val.object_refs[r - i, 0]
|
| 213 |
+
A_rc = qr_helper1.remote(a_work.object_refs[r, c], y_ri, t, W_c)
|
| 214 |
+
a_work.object_refs[r, c] = A_rc
|
| 215 |
+
r_res.object_refs[i, c] = a_work.object_refs[i, c]
|
| 216 |
+
|
| 217 |
+
# construct q_res from Ys and Ts
|
| 218 |
+
q = core.eye.remote(m, k, dtype_name=result_dtype)
|
| 219 |
+
for i in range(len(Ts))[::-1]:
|
| 220 |
+
y_col_block = core.subblocks.remote(y_res, [], [i])
|
| 221 |
+
q = core.subtract.remote(
|
| 222 |
+
q,
|
| 223 |
+
core.dot.remote(
|
| 224 |
+
y_col_block,
|
| 225 |
+
core.dot.remote(
|
| 226 |
+
Ts[i], core.dot.remote(core.transpose.remote(y_col_block), q)
|
| 227 |
+
),
|
| 228 |
+
),
|
| 229 |
+
)
|
| 230 |
+
|
| 231 |
+
return ray.get(q), r_res
|
.venv/lib/python3.11/site-packages/ray/experimental/array/distributed/random.py
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import numpy as np
|
| 2 |
+
|
| 3 |
+
import ray
|
| 4 |
+
import ray.experimental.array.remote as ra
|
| 5 |
+
from .core import DistArray
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
@ray.remote
|
| 9 |
+
def normal(shape):
|
| 10 |
+
num_blocks = DistArray.compute_num_blocks(shape)
|
| 11 |
+
object_refs = np.empty(num_blocks, dtype=object)
|
| 12 |
+
for index in np.ndindex(*num_blocks):
|
| 13 |
+
object_refs[index] = ra.random.normal.remote(
|
| 14 |
+
DistArray.compute_block_shape(index, shape)
|
| 15 |
+
)
|
| 16 |
+
result = DistArray(shape, object_refs)
|
| 17 |
+
return result
|
.venv/lib/python3.11/site-packages/ray/experimental/channel/__pycache__/shared_memory_channel.cpython-311.pyc
ADDED
|
Binary file (34.8 kB). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/channel/__pycache__/torch_tensor_nccl_channel.cpython-311.pyc
ADDED
|
Binary file (35.5 kB). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/channel/auto_transport_type.py
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import Dict, List, Optional, Tuple, Union
|
| 2 |
+
|
| 3 |
+
import ray
|
| 4 |
+
from ray.experimental.channel import ChannelOutputType
|
| 5 |
+
from ray.experimental.channel.torch_tensor_type import TorchTensorType
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
class AutoTransportType(ChannelOutputType):
|
| 9 |
+
"""
|
| 10 |
+
Type hint for automatic transport selection for tensors.
|
| 11 |
+
|
| 12 |
+
With this type hint Compiled Graphs automatically decide the best transport
|
| 13 |
+
to use (e.g., NCCL or shared memory) based on the node locations and GPU IDs
|
| 14 |
+
of the readers and writers.
|
| 15 |
+
"""
|
| 16 |
+
|
| 17 |
+
def __init__(self, _static_shape: bool = False, _direct_return: bool = False):
|
| 18 |
+
self._static_shape = _static_shape
|
| 19 |
+
self._direct_return = _direct_return
|
| 20 |
+
|
| 21 |
+
def create_channel(
|
| 22 |
+
self,
|
| 23 |
+
writer: Optional["ray.actor.ActorHandle"],
|
| 24 |
+
reader_and_node_list: List[Tuple["ray.actor.ActorHandle", str]],
|
| 25 |
+
driver_actor_id: Optional[str] = None,
|
| 26 |
+
) -> "ChannelOutputType":
|
| 27 |
+
"""
|
| 28 |
+
Directly calling create_channel() on AutoTransportType should not happen,
|
| 29 |
+
just raise an exception with informative message.
|
| 30 |
+
"""
|
| 31 |
+
raise ValueError(
|
| 32 |
+
"This should not happen: AutoTransportType should "
|
| 33 |
+
"have been resolved before creating a channel. "
|
| 34 |
+
"Please file a Ray GitHub issue for bug report."
|
| 35 |
+
)
|
| 36 |
+
|
| 37 |
+
|
| 38 |
+
class TypeHintResolver:
|
| 39 |
+
"""
|
| 40 |
+
This class is used to resolve `AutoChannelType` into an actual channel type
|
| 41 |
+
(e.g., `TorchTensorType` with proper transport) based on node locations and
|
| 42 |
+
GPU IDs of the readers and writers.
|
| 43 |
+
"""
|
| 44 |
+
|
| 45 |
+
def __init__(self, actor_to_gpu_ids: Dict["ray.actor.ActorHandle", List[str]]):
|
| 46 |
+
"""
|
| 47 |
+
Args:
|
| 48 |
+
actor_to_gpu_ids: Mapping from actor handle to its GPU IDs.
|
| 49 |
+
"""
|
| 50 |
+
self._actor_to_gpu_ids = actor_to_gpu_ids
|
| 51 |
+
|
| 52 |
+
def _get_gpu_ids(self, actor: "ray.actor.ActorHandle") -> List[str]:
|
| 53 |
+
"""
|
| 54 |
+
Get the GPU IDs of the actor.
|
| 55 |
+
|
| 56 |
+
Returns:
|
| 57 |
+
The GPU IDs of the actor. If the actor is not found,
|
| 58 |
+
return an empty list.
|
| 59 |
+
"""
|
| 60 |
+
gpu_ids = self._actor_to_gpu_ids.get(actor, [])
|
| 61 |
+
assert len(gpu_ids) <= 1, (
|
| 62 |
+
"Compiled Graphs currently don't support allocating multiple GPUs "
|
| 63 |
+
"to a single actor"
|
| 64 |
+
)
|
| 65 |
+
return gpu_ids
|
| 66 |
+
|
| 67 |
+
def _use_same_gpu(
|
| 68 |
+
self,
|
| 69 |
+
writer_and_node: Tuple["ray.actor.ActorHandle", str],
|
| 70 |
+
reader_and_node: Union[
|
| 71 |
+
Tuple["ray.actor.ActorHandle", str],
|
| 72 |
+
List[Tuple["ray.actor.ActorHandle", str]],
|
| 73 |
+
],
|
| 74 |
+
) -> bool:
|
| 75 |
+
"""
|
| 76 |
+
Check if the writer and readers use the same GPU.
|
| 77 |
+
|
| 78 |
+
Args:
|
| 79 |
+
writer_and_node: A tuple of writer actor handle and its node ID.
|
| 80 |
+
reader_and_node: A tuple of reader actor handle and its node ID, or
|
| 81 |
+
a list of such tuples.
|
| 82 |
+
|
| 83 |
+
Returns:
|
| 84 |
+
True if the writer and all the readers use the same GPU, False otherwise.
|
| 85 |
+
"""
|
| 86 |
+
if isinstance(reader_and_node, list):
|
| 87 |
+
return all(
|
| 88 |
+
self._use_same_gpu(writer_and_node, entry) for entry in reader_and_node
|
| 89 |
+
)
|
| 90 |
+
if writer_and_node[1] != reader_and_node[1]:
|
| 91 |
+
return False
|
| 92 |
+
writer_gpu_ids = self._get_gpu_ids(writer_and_node[0])
|
| 93 |
+
reader_gpu_ids = self._get_gpu_ids(reader_and_node[0])
|
| 94 |
+
return writer_gpu_ids == reader_gpu_ids
|
| 95 |
+
|
| 96 |
+
def _use_gpu(
|
| 97 |
+
self, actors: Union["ray.actor.ActorHandle", List["ray.actor.ActorHandle"]]
|
| 98 |
+
) -> bool:
|
| 99 |
+
"""
|
| 100 |
+
Check if the actors use GPUs.
|
| 101 |
+
|
| 102 |
+
Args:
|
| 103 |
+
actors: An actor handle or a list of actor handles.
|
| 104 |
+
|
| 105 |
+
Returns:
|
| 106 |
+
True if the actors use GPUs, False otherwise.
|
| 107 |
+
"""
|
| 108 |
+
if isinstance(actors, list):
|
| 109 |
+
return all(self._use_gpu(actor) for actor in actors)
|
| 110 |
+
gpu_ids = self._get_gpu_ids(actors)
|
| 111 |
+
return len(gpu_ids) > 0
|
| 112 |
+
|
| 113 |
+
def resolve(
|
| 114 |
+
self,
|
| 115 |
+
auto_transport_type: AutoTransportType,
|
| 116 |
+
writer_and_node: Tuple[Optional["ray.actor.ActorHandle"], str],
|
| 117 |
+
reader_and_node_list: List[Tuple[Optional["ray.actor.ActorHandle"], str]],
|
| 118 |
+
) -> "ChannelOutputType":
|
| 119 |
+
"""
|
| 120 |
+
Resolve auto_transport_type to the actual channel output type
|
| 121 |
+
based on the node locations and GPU IDs.
|
| 122 |
+
|
| 123 |
+
Args:
|
| 124 |
+
auto_transport_type: The type to resolve
|
| 125 |
+
writer_and_node: A tuple of writer actor handle and its node ID.
|
| 126 |
+
A None writer actor handle means the writer is the driver.
|
| 127 |
+
reader_and_node_list: A list of tuples of reader actor handle and its
|
| 128 |
+
node ID. A None reader actor handle means the reader is the driver.
|
| 129 |
+
|
| 130 |
+
Returns:
|
| 131 |
+
The actual channel type.
|
| 132 |
+
"""
|
| 133 |
+
writer = writer_and_node[0]
|
| 134 |
+
readers = [reader for reader, _ in reader_and_node_list]
|
| 135 |
+
|
| 136 |
+
if writer is None or any(reader is None for reader in readers):
|
| 137 |
+
# None means actor is the driver, currently driver on GPU
|
| 138 |
+
# is not supported, so we always use shared memory to transfer
|
| 139 |
+
# tensors.
|
| 140 |
+
return TorchTensorType(
|
| 141 |
+
_static_shape=auto_transport_type._static_shape,
|
| 142 |
+
_direct_return=auto_transport_type._direct_return,
|
| 143 |
+
)
|
| 144 |
+
|
| 145 |
+
# Case 1: writer and readers don't both use GPU, use shared memory
|
| 146 |
+
# to transport the tensors
|
| 147 |
+
if not (self._use_gpu(writer) and self._use_gpu(readers)):
|
| 148 |
+
return TorchTensorType(
|
| 149 |
+
_static_shape=auto_transport_type._static_shape,
|
| 150 |
+
_direct_return=auto_transport_type._direct_return,
|
| 151 |
+
)
|
| 152 |
+
|
| 153 |
+
# Case 2: writer and readers use the same GPU are are on the same node,
|
| 154 |
+
# use shared memory to transport the tensors
|
| 155 |
+
if self._use_same_gpu(writer_and_node, reader_and_node_list):
|
| 156 |
+
return TorchTensorType(
|
| 157 |
+
_static_shape=auto_transport_type._static_shape,
|
| 158 |
+
_direct_return=auto_transport_type._direct_return,
|
| 159 |
+
)
|
| 160 |
+
|
| 161 |
+
# Case 3: writer and readers use different GPUs, use NCCL to transport
|
| 162 |
+
# the tensors
|
| 163 |
+
return TorchTensorType(
|
| 164 |
+
transport="nccl",
|
| 165 |
+
_static_shape=auto_transport_type._static_shape,
|
| 166 |
+
_direct_return=auto_transport_type._direct_return,
|
| 167 |
+
)
|
.venv/lib/python3.11/site-packages/ray/experimental/channel/cached_channel.py
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import uuid
|
| 2 |
+
from typing import Any, Optional
|
| 3 |
+
|
| 4 |
+
from ray.experimental.channel.common import ChannelInterface
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
class CachedChannel(ChannelInterface):
|
| 8 |
+
"""
|
| 9 |
+
CachedChannel wraps an inner channel and caches the data read from it until
|
| 10 |
+
`num_reads` reads have completed. If inner channel is None, the data
|
| 11 |
+
is written to serialization context and retrieved from there. This is useful
|
| 12 |
+
when passing data within the same actor and a shared memory channel can be
|
| 13 |
+
avoided.
|
| 14 |
+
|
| 15 |
+
Args:
|
| 16 |
+
num_reads: The number of reads from this channel that must happen before
|
| 17 |
+
writing again. Readers must be methods of the same actor.
|
| 18 |
+
inner_channel: The inner channel to cache data from. If None, the data is
|
| 19 |
+
read from the serialization context.
|
| 20 |
+
_channel_id: The unique ID for the channel. If None, a new ID is generated.
|
| 21 |
+
"""
|
| 22 |
+
|
| 23 |
+
def __init__(
|
| 24 |
+
self,
|
| 25 |
+
num_reads: int,
|
| 26 |
+
inner_channel: Optional[ChannelInterface] = None,
|
| 27 |
+
_channel_id: Optional[str] = None,
|
| 28 |
+
):
|
| 29 |
+
assert num_reads > 0, "num_reads must be greater than 0."
|
| 30 |
+
self._num_reads = num_reads
|
| 31 |
+
self._inner_channel = inner_channel
|
| 32 |
+
# Generate a unique ID for the channel. The writer and reader will use
|
| 33 |
+
# this ID to store and retrieve data from the _SerializationContext.
|
| 34 |
+
self._channel_id = _channel_id
|
| 35 |
+
if self._channel_id is None:
|
| 36 |
+
self._channel_id = str(uuid.uuid4())
|
| 37 |
+
|
| 38 |
+
def ensure_registered_as_writer(self) -> None:
|
| 39 |
+
if self._inner_channel is not None:
|
| 40 |
+
self._inner_channel.ensure_registered_as_writer()
|
| 41 |
+
|
| 42 |
+
def ensure_registered_as_reader(self) -> None:
|
| 43 |
+
if self._inner_channel is not None:
|
| 44 |
+
self._inner_channel.ensure_registered_as_reader()
|
| 45 |
+
|
| 46 |
+
def __reduce__(self):
|
| 47 |
+
return CachedChannel, (
|
| 48 |
+
self._num_reads,
|
| 49 |
+
self._inner_channel,
|
| 50 |
+
self._channel_id,
|
| 51 |
+
)
|
| 52 |
+
|
| 53 |
+
def __str__(self) -> str:
|
| 54 |
+
return (
|
| 55 |
+
f"CachedChannel(channel_id={self._channel_id}, "
|
| 56 |
+
f"num_reads={self._num_reads}), "
|
| 57 |
+
f"inner_channel={self._inner_channel})"
|
| 58 |
+
)
|
| 59 |
+
|
| 60 |
+
def write(self, value: Any, timeout: Optional[float] = None):
|
| 61 |
+
self.ensure_registered_as_writer()
|
| 62 |
+
# TODO: better organize the imports
|
| 63 |
+
from ray.experimental.channel import ChannelContext
|
| 64 |
+
|
| 65 |
+
if self._inner_channel is not None:
|
| 66 |
+
self._inner_channel.write(value, timeout)
|
| 67 |
+
return
|
| 68 |
+
|
| 69 |
+
# Otherwise no need to check timeout as the operation is non-blocking.
|
| 70 |
+
|
| 71 |
+
# Because both the reader and writer are in the same worker process,
|
| 72 |
+
# we can directly store the data in the context instead of storing
|
| 73 |
+
# it in the channel object. This removes the serialization overhead of `value`.
|
| 74 |
+
ctx = ChannelContext.get_current().serialization_context
|
| 75 |
+
ctx.set_data(self._channel_id, value, self._num_reads)
|
| 76 |
+
|
| 77 |
+
def read(self, timeout: Optional[float] = None) -> Any:
|
| 78 |
+
self.ensure_registered_as_reader()
|
| 79 |
+
# TODO: better organize the imports
|
| 80 |
+
from ray.experimental.channel import ChannelContext
|
| 81 |
+
|
| 82 |
+
ctx = ChannelContext.get_current().serialization_context
|
| 83 |
+
if ctx.has_data(self._channel_id):
|
| 84 |
+
# No need to check timeout as the operation is non-blocking.
|
| 85 |
+
return ctx.get_data(self._channel_id)
|
| 86 |
+
|
| 87 |
+
assert (
|
| 88 |
+
self._inner_channel is not None
|
| 89 |
+
), "Cannot read from the serialization context while inner channel is None."
|
| 90 |
+
value = self._inner_channel.read(timeout)
|
| 91 |
+
ctx.set_data(self._channel_id, value, self._num_reads)
|
| 92 |
+
# NOTE: Currently we make a contract with Compiled Graph users that the
|
| 93 |
+
# channel results should not be mutated by the actor methods.
|
| 94 |
+
# When the user needs to modify the channel results, they should
|
| 95 |
+
# make a copy of the channel results and modify the copy.
|
| 96 |
+
# This is the same contract as used in IntraProcessChannel.
|
| 97 |
+
# This contract is NOT enforced right now in either case.
|
| 98 |
+
# TODO(rui): introduce a flag to control the behavior:
|
| 99 |
+
# for example, by default we make a deep copy of the channel
|
| 100 |
+
# result, but the user can turn off the deep copy for performance
|
| 101 |
+
# improvements.
|
| 102 |
+
# https://github.com/ray-project/ray/issues/47409
|
| 103 |
+
return ctx.get_data(self._channel_id)
|
| 104 |
+
|
| 105 |
+
def close(self) -> None:
|
| 106 |
+
from ray.experimental.channel import ChannelContext
|
| 107 |
+
|
| 108 |
+
if self._inner_channel is not None:
|
| 109 |
+
self._inner_channel.close()
|
| 110 |
+
ctx = ChannelContext.get_current().serialization_context
|
| 111 |
+
ctx.reset_data(self._channel_id)
|
.venv/lib/python3.11/site-packages/ray/experimental/channel/intra_process_channel.py
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import uuid
|
| 2 |
+
from typing import Any, Optional
|
| 3 |
+
|
| 4 |
+
from ray.experimental.channel import ChannelContext
|
| 5 |
+
from ray.experimental.channel.common import ChannelInterface
|
| 6 |
+
from ray.util.annotations import PublicAPI
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
@PublicAPI(stability="alpha")
|
| 10 |
+
class IntraProcessChannel(ChannelInterface):
|
| 11 |
+
"""
|
| 12 |
+
IntraProcessChannel is a channel for communication between two tasks in the same
|
| 13 |
+
worker process. It writes data directly to the worker's _SerializationContext
|
| 14 |
+
and reads data from the _SerializationContext to avoid the serialization
|
| 15 |
+
overhead and the need for reading/writing from shared memory. Note that if the
|
| 16 |
+
readers may mutate the data, users should deep copy the data themselves to avoid
|
| 17 |
+
side effects.
|
| 18 |
+
|
| 19 |
+
Args:
|
| 20 |
+
num_readers: The number of readers that will read from this channel. Readers
|
| 21 |
+
can be the same method of the same actor.
|
| 22 |
+
"""
|
| 23 |
+
|
| 24 |
+
def __init__(
|
| 25 |
+
self,
|
| 26 |
+
num_readers,
|
| 27 |
+
_channel_id: Optional[str] = None,
|
| 28 |
+
):
|
| 29 |
+
# Generate a unique ID for the channel. The writer and reader will use
|
| 30 |
+
# this ID to store and retrieve data from the _SerializationContext.
|
| 31 |
+
self._channel_id = _channel_id
|
| 32 |
+
self._num_readers = num_readers
|
| 33 |
+
if self._channel_id is None:
|
| 34 |
+
self._channel_id = str(uuid.uuid4())
|
| 35 |
+
|
| 36 |
+
def ensure_registered_as_writer(self) -> None:
|
| 37 |
+
pass
|
| 38 |
+
|
| 39 |
+
def ensure_registered_as_reader(self) -> None:
|
| 40 |
+
pass
|
| 41 |
+
|
| 42 |
+
def __reduce__(self):
|
| 43 |
+
return IntraProcessChannel, (
|
| 44 |
+
self._num_readers,
|
| 45 |
+
self._channel_id,
|
| 46 |
+
)
|
| 47 |
+
|
| 48 |
+
def __str__(self) -> str:
|
| 49 |
+
return f"IntraProcessChannel(channel_id={self._channel_id})"
|
| 50 |
+
|
| 51 |
+
def write(self, value: Any, timeout: Optional[float] = None):
|
| 52 |
+
self.ensure_registered_as_writer()
|
| 53 |
+
# No need to check timeout as the operation is non-blocking.
|
| 54 |
+
|
| 55 |
+
# Because both the reader and writer are in the same worker process,
|
| 56 |
+
# we can directly store the data in the context instead of storing
|
| 57 |
+
# it in the channel object. This removes the serialization overhead of `value`.
|
| 58 |
+
ctx = ChannelContext.get_current().serialization_context
|
| 59 |
+
ctx.set_data(self._channel_id, value, self._num_readers)
|
| 60 |
+
|
| 61 |
+
def read(self, timeout: Optional[float] = None, deserialize: bool = True) -> Any:
|
| 62 |
+
self.ensure_registered_as_reader()
|
| 63 |
+
assert deserialize, "Data passed from the actor to itself is never serialized"
|
| 64 |
+
# No need to check timeout as the operation is non-blocking.
|
| 65 |
+
ctx = ChannelContext.get_current().serialization_context
|
| 66 |
+
return ctx.get_data(self._channel_id)
|
| 67 |
+
|
| 68 |
+
def close(self) -> None:
|
| 69 |
+
ctx = ChannelContext.get_current().serialization_context
|
| 70 |
+
ctx.reset_data(self._channel_id)
|
.venv/lib/python3.11/site-packages/ray/experimental/channel/serialization_context.py
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import warnings
|
| 2 |
+
from typing import TYPE_CHECKING, Any, Dict, List, Set, Tuple, Union
|
| 3 |
+
|
| 4 |
+
if TYPE_CHECKING:
|
| 5 |
+
import numpy as np
|
| 6 |
+
import torch
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
_TORCH_WARNING_FILTER_ACTIVATE = True
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
class _SerializationContext:
|
| 13 |
+
def __init__(self):
|
| 14 |
+
# If true, then tensors found in the data to serialize are extracted
|
| 15 |
+
# and the caller should send them through an external transport.
|
| 16 |
+
self._use_external_transport: bool = False
|
| 17 |
+
# If _use_external_transport is True, then these are
|
| 18 |
+
# the tensors that should be sent or received
|
| 19 |
+
# out-of-band, through the external transport.
|
| 20 |
+
self._out_of_band_tensors: List["torch.Tensor"] = []
|
| 21 |
+
# During serialization, tensors sent out-of-band are replaced with
|
| 22 |
+
# integer placeholders. This tracks the set of placeholders seen.
|
| 23 |
+
self._deserialized_tensor_placeholders: Set[int] = set()
|
| 24 |
+
|
| 25 |
+
# Buffer for transferring data between tasks in the same worker process.
|
| 26 |
+
# The key is the channel ID, and the value is the data. We don't use a
|
| 27 |
+
# lock when reading/writing the buffer because a DAG node actor will only
|
| 28 |
+
# execute one task at a time in `do_exec_tasks`. It will not execute multiple
|
| 29 |
+
# Ray tasks on a single actor simultaneously.
|
| 30 |
+
self.intra_process_channel_buffers: Dict[str, Any] = {}
|
| 31 |
+
# The number of readers for each channel. When the number of readers
|
| 32 |
+
# reaches 0, remove the data from the buffer.
|
| 33 |
+
self.channel_id_to_num_readers: Dict[str, int] = {}
|
| 34 |
+
|
| 35 |
+
def set_data(self, channel_id: str, value: Any, num_readers: int) -> None:
|
| 36 |
+
assert num_readers > 0, "num_readers must be greater than 0."
|
| 37 |
+
assert (
|
| 38 |
+
channel_id not in self.intra_process_channel_buffers
|
| 39 |
+
), f"Channel {channel_id} already exists in the buffer."
|
| 40 |
+
assert (
|
| 41 |
+
channel_id not in self.channel_id_to_num_readers
|
| 42 |
+
), f"Channel {channel_id} already exists in the channel_id_to_num_readers."
|
| 43 |
+
|
| 44 |
+
self.intra_process_channel_buffers[channel_id] = value
|
| 45 |
+
self.channel_id_to_num_readers[channel_id] = num_readers
|
| 46 |
+
|
| 47 |
+
def has_data(self, channel_id: str) -> bool:
|
| 48 |
+
return channel_id in self.intra_process_channel_buffers
|
| 49 |
+
|
| 50 |
+
def get_data(self, channel_id: str) -> Any:
|
| 51 |
+
assert (
|
| 52 |
+
channel_id in self.intra_process_channel_buffers
|
| 53 |
+
), f"Channel {channel_id} does not exist in the buffer."
|
| 54 |
+
assert (
|
| 55 |
+
channel_id in self.channel_id_to_num_readers
|
| 56 |
+
), f"Channel {channel_id} does not exist in the channel_id_to_num_readers."
|
| 57 |
+
|
| 58 |
+
self.channel_id_to_num_readers[channel_id] -= 1
|
| 59 |
+
if self.channel_id_to_num_readers[channel_id] == 0:
|
| 60 |
+
# All readers have read the data, so we can remove it.
|
| 61 |
+
self.channel_id_to_num_readers.pop(channel_id)
|
| 62 |
+
return self.intra_process_channel_buffers.pop(channel_id)
|
| 63 |
+
return self.intra_process_channel_buffers[channel_id]
|
| 64 |
+
|
| 65 |
+
def reset_data(self, channel_id: str) -> None:
|
| 66 |
+
self.intra_process_channel_buffers.pop(channel_id, None)
|
| 67 |
+
self.channel_id_to_num_readers.pop(channel_id, None)
|
| 68 |
+
|
| 69 |
+
def set_use_external_transport(self, use_external_transport: bool) -> None:
|
| 70 |
+
self._use_external_transport = use_external_transport
|
| 71 |
+
|
| 72 |
+
def reset_out_of_band_tensors(
|
| 73 |
+
self, tensors: List["torch.Tensor"]
|
| 74 |
+
) -> Tuple[List["torch.Tensor"], Set[int]]:
|
| 75 |
+
"""
|
| 76 |
+
Return and reset the out-of-band tensors and all tensor placeholders
|
| 77 |
+
that were deserialized since the last call to reset.
|
| 78 |
+
"""
|
| 79 |
+
prev_tensors = self._out_of_band_tensors
|
| 80 |
+
deserialized_tensor_placeholders = self._deserialized_tensor_placeholders
|
| 81 |
+
self._out_of_band_tensors = tensors
|
| 82 |
+
self._deserialized_tensor_placeholders = set()
|
| 83 |
+
return prev_tensors, deserialized_tensor_placeholders
|
| 84 |
+
|
| 85 |
+
def serialize_tensor(self, tensor: "torch.Tensor") -> Union[int, "np.ndarray"]:
|
| 86 |
+
from ray.experimental.channel import ChannelContext
|
| 87 |
+
|
| 88 |
+
ctx = ChannelContext.get_current()
|
| 89 |
+
if self._use_external_transport and tensor.device == ctx.torch_device:
|
| 90 |
+
# External transport is enabled and we found a tensor that matches
|
| 91 |
+
# our device. Add the actual tensor to a buffer. The buffer of
|
| 92 |
+
# tensors should later be popped by the caller and sent via
|
| 93 |
+
# external transport.
|
| 94 |
+
self._out_of_band_tensors.append(tensor)
|
| 95 |
+
# Return a placeholder.
|
| 96 |
+
return len(self._out_of_band_tensors) - 1
|
| 97 |
+
|
| 98 |
+
return self.serialize_to_numpy(tensor)
|
| 99 |
+
|
| 100 |
+
def serialize_to_numpy(
|
| 101 |
+
self, tensor: "torch.Tensor"
|
| 102 |
+
) -> Tuple["np.ndarray", "torch.dtype"]:
|
| 103 |
+
import torch
|
| 104 |
+
|
| 105 |
+
# Transfer through Ray's shared memory store for now.
|
| 106 |
+
# TODO(swang): This requires two copies, one to transfer from GPU to
|
| 107 |
+
# CPU and another from CPU to shared memory. Ideally we should elide
|
| 108 |
+
# the first copy and memcpy directly from GPU to the shared memory
|
| 109 |
+
# buffer.
|
| 110 |
+
if tensor.device.type == "cuda":
|
| 111 |
+
tensor = tensor.to("cpu")
|
| 112 |
+
|
| 113 |
+
# Numpy does not have an equivalent dtype for all torch dtypes, so
|
| 114 |
+
# instead of casting directly to numpy, we first use a view with a
|
| 115 |
+
# common dtype and then view as numpy array.
|
| 116 |
+
return (tensor.view(torch.uint8).numpy(), tensor.dtype)
|
| 117 |
+
|
| 118 |
+
def deserialize_tensor(self, val: Union["np.ndarray", int]):
|
| 119 |
+
# Found a placeholder for a tensor that was serialized via NCCL.
|
| 120 |
+
# Replace it with the corresponding deserialized tensor.
|
| 121 |
+
if isinstance(val, int):
|
| 122 |
+
placeholder = val
|
| 123 |
+
self._deserialized_tensor_placeholders.add(placeholder)
|
| 124 |
+
assert placeholder < len(self._out_of_band_tensors)
|
| 125 |
+
return self._out_of_band_tensors[placeholder]
|
| 126 |
+
|
| 127 |
+
return self.deserialize_from_numpy(val)
|
| 128 |
+
|
| 129 |
+
def deserialize_from_numpy(
|
| 130 |
+
self, np_array_dtype: Tuple["np.ndarray", "torch.dtype"]
|
| 131 |
+
):
|
| 132 |
+
import torch
|
| 133 |
+
|
| 134 |
+
from ray.experimental.channel import ChannelContext
|
| 135 |
+
|
| 136 |
+
ctx = ChannelContext.get_current()
|
| 137 |
+
|
| 138 |
+
np_array, dtype = np_array_dtype
|
| 139 |
+
|
| 140 |
+
# TODO(swang): Support local P2P transfers if available.
|
| 141 |
+
# If there is a GPU assigned to this worker, move it there.
|
| 142 |
+
if ctx.torch_device is not None and ctx.torch_device.type == "cuda":
|
| 143 |
+
|
| 144 |
+
def convert_numpy_to_tensor(np_array, ctx):
|
| 145 |
+
# It does zero-copy convert np_array inside shared memroy to
|
| 146 |
+
# a tensor. Since we move data to GPU immediately, it is safe.
|
| 147 |
+
cpu_tensor = torch.from_numpy(np_array).view(dtype)
|
| 148 |
+
return cpu_tensor.to(device=ctx.torch_device)
|
| 149 |
+
|
| 150 |
+
global _TORCH_WARNING_FILTER_ACTIVATE
|
| 151 |
+
# filtering warning messages would be the bottleneck for
|
| 152 |
+
# deserializing torch tensors. Since the warning only prompts once,
|
| 153 |
+
# we would only deal with it for the first time.
|
| 154 |
+
if _TORCH_WARNING_FILTER_ACTIVATE:
|
| 155 |
+
with warnings.catch_warnings():
|
| 156 |
+
# Since np_array.is_writable is False (it is set by Ray),
|
| 157 |
+
# this raises a warning. Suppress it.
|
| 158 |
+
warnings.filterwarnings(
|
| 159 |
+
"ignore",
|
| 160 |
+
category=UserWarning,
|
| 161 |
+
message="The given NumPy array is not writable",
|
| 162 |
+
)
|
| 163 |
+
# gpu_tensor = convert_numpy_to_tensor(np_array, ctx)
|
| 164 |
+
gpu_tensor = convert_numpy_to_tensor(np_array, ctx)
|
| 165 |
+
_TORCH_WARNING_FILTER_ACTIVATE = False
|
| 166 |
+
else:
|
| 167 |
+
gpu_tensor = convert_numpy_to_tensor(np_array, ctx)
|
| 168 |
+
|
| 169 |
+
return gpu_tensor
|
| 170 |
+
|
| 171 |
+
# TODO(swang): Use zero-copy from_numpy() if np_array.flags.writeable
|
| 172 |
+
# is True. This is safe to set when deserializing np_array if the
|
| 173 |
+
# upstream task has num_readers=1.
|
| 174 |
+
return torch.tensor(np_array, device=ctx.torch_device).view(dtype)
|
.venv/lib/python3.11/site-packages/ray/experimental/compiled_dag_ref.py
ADDED
|
@@ -0,0 +1,227 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import asyncio
|
| 2 |
+
from typing import Any, List, Optional
|
| 3 |
+
|
| 4 |
+
import ray
|
| 5 |
+
from ray.exceptions import (
|
| 6 |
+
GetTimeoutError,
|
| 7 |
+
RayChannelError,
|
| 8 |
+
RayChannelTimeoutError,
|
| 9 |
+
RayTaskError,
|
| 10 |
+
)
|
| 11 |
+
from ray.util.annotations import PublicAPI
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
def _process_return_vals(return_vals: List[Any], return_single_output: bool):
|
| 15 |
+
"""
|
| 16 |
+
Process return values for return to the DAG caller. Any exceptions found in
|
| 17 |
+
return_vals will be raised. If return_single_output=True, it indicates that
|
| 18 |
+
the original DAG did not have a MultiOutputNode, so the DAG caller expects
|
| 19 |
+
a single return value instead of a list.
|
| 20 |
+
"""
|
| 21 |
+
# Check for exceptions.
|
| 22 |
+
if isinstance(return_vals, Exception):
|
| 23 |
+
raise return_vals
|
| 24 |
+
|
| 25 |
+
for val in return_vals:
|
| 26 |
+
if isinstance(val, RayTaskError):
|
| 27 |
+
raise val.as_instanceof_cause()
|
| 28 |
+
|
| 29 |
+
if return_single_output:
|
| 30 |
+
assert len(return_vals) == 1
|
| 31 |
+
return return_vals[0]
|
| 32 |
+
|
| 33 |
+
return return_vals
|
| 34 |
+
|
| 35 |
+
|
| 36 |
+
@PublicAPI(stability="alpha")
|
| 37 |
+
class CompiledDAGRef:
|
| 38 |
+
"""
|
| 39 |
+
A reference to a compiled DAG execution result.
|
| 40 |
+
|
| 41 |
+
This is a subclass of ObjectRef and resembles ObjectRef. For example,
|
| 42 |
+
similar to ObjectRef, ray.get() can be called on it to retrieve the result.
|
| 43 |
+
However, there are several major differences:
|
| 44 |
+
1. ray.get() can only be called once per CompiledDAGRef.
|
| 45 |
+
2. ray.wait() is not supported.
|
| 46 |
+
3. CompiledDAGRef cannot be copied, deep copied, or pickled.
|
| 47 |
+
4. CompiledDAGRef cannot be passed as an argument to another task.
|
| 48 |
+
"""
|
| 49 |
+
|
| 50 |
+
def __init__(
|
| 51 |
+
self,
|
| 52 |
+
dag: "ray.experimental.CompiledDAG",
|
| 53 |
+
execution_index: int,
|
| 54 |
+
channel_index: Optional[int] = None,
|
| 55 |
+
):
|
| 56 |
+
"""
|
| 57 |
+
Args:
|
| 58 |
+
dag: The compiled DAG that generated this CompiledDAGRef.
|
| 59 |
+
execution_index: The index of the execution for the DAG.
|
| 60 |
+
A DAG can be executed multiple times, and execution index
|
| 61 |
+
indicates which execution this CompiledDAGRef corresponds to.
|
| 62 |
+
actor_execution_loop_refs: The actor execution loop refs that
|
| 63 |
+
are used to execute the DAG. This can be used internally to
|
| 64 |
+
check the task execution errors in case of exceptions.
|
| 65 |
+
channel_index: The index of the DAG's output channel to fetch
|
| 66 |
+
the result from. A DAG can have multiple output channels, and
|
| 67 |
+
channel index indicates which channel this CompiledDAGRef
|
| 68 |
+
corresponds to. If channel index is not provided, this CompiledDAGRef
|
| 69 |
+
wraps the results from all output channels.
|
| 70 |
+
|
| 71 |
+
"""
|
| 72 |
+
self._dag = dag
|
| 73 |
+
self._execution_index = execution_index
|
| 74 |
+
self._channel_index = channel_index
|
| 75 |
+
# Whether ray.get() was called on this CompiledDAGRef.
|
| 76 |
+
self._ray_get_called = False
|
| 77 |
+
self._dag_output_channels = dag.dag_output_channels
|
| 78 |
+
|
| 79 |
+
def __str__(self):
|
| 80 |
+
return (
|
| 81 |
+
f"CompiledDAGRef({self._dag.get_id()}, "
|
| 82 |
+
f"execution_index={self._execution_index}, "
|
| 83 |
+
f"channel_index={self._channel_index})"
|
| 84 |
+
)
|
| 85 |
+
|
| 86 |
+
def __copy__(self):
|
| 87 |
+
raise ValueError("CompiledDAGRef cannot be copied.")
|
| 88 |
+
|
| 89 |
+
def __deepcopy__(self, memo):
|
| 90 |
+
raise ValueError("CompiledDAGRef cannot be deep copied.")
|
| 91 |
+
|
| 92 |
+
def __reduce__(self):
|
| 93 |
+
raise ValueError("CompiledDAGRef cannot be pickled.")
|
| 94 |
+
|
| 95 |
+
def __del__(self):
|
| 96 |
+
# If the dag is already teardown, it should do nothing.
|
| 97 |
+
if self._dag.is_teardown:
|
| 98 |
+
return
|
| 99 |
+
|
| 100 |
+
# If we've already cached the result in the buffer, get it to remove it
|
| 101 |
+
# from the buffer. Else add this CompiledDAGRef's execution and channel indices
|
| 102 |
+
# to the dag's _destructed_ref_idxs, and try to release any buffers we
|
| 103 |
+
# can based on the dag's current max_finished_execution_index.
|
| 104 |
+
if not self._ray_get_called:
|
| 105 |
+
if self._execution_index in self._dag._result_buffer:
|
| 106 |
+
self._dag._get_execution_results(
|
| 107 |
+
self._execution_index, self._channel_index
|
| 108 |
+
)
|
| 109 |
+
else:
|
| 110 |
+
self._dag._destructed_ref_idxs[self._execution_index].add(
|
| 111 |
+
self._channel_index
|
| 112 |
+
)
|
| 113 |
+
self._dag._try_release_buffers()
|
| 114 |
+
|
| 115 |
+
def get(self, timeout: Optional[float] = None):
|
| 116 |
+
if self._ray_get_called:
|
| 117 |
+
raise ValueError(
|
| 118 |
+
"ray.get() can only be called once "
|
| 119 |
+
"on a CompiledDAGRef, and it was already called."
|
| 120 |
+
)
|
| 121 |
+
|
| 122 |
+
self._ray_get_called = True
|
| 123 |
+
try:
|
| 124 |
+
self._dag._execute_until(
|
| 125 |
+
self._execution_index, self._channel_index, timeout
|
| 126 |
+
)
|
| 127 |
+
return_vals = self._dag._get_execution_results(
|
| 128 |
+
self._execution_index, self._channel_index
|
| 129 |
+
)
|
| 130 |
+
except RayChannelTimeoutError:
|
| 131 |
+
raise
|
| 132 |
+
except RayChannelError as channel_error:
|
| 133 |
+
# If we get a channel error, we'd like to call ray.get() on
|
| 134 |
+
# the actor execution loop refs to check if this is a result
|
| 135 |
+
# of task execution error which could not be passed down
|
| 136 |
+
# (e.g., when a pure NCCL channel is used, it is only
|
| 137 |
+
# able to send tensors, but not the wrapped exceptions).
|
| 138 |
+
# In this case, we'd like to raise the task execution error
|
| 139 |
+
# (which is the actual cause of the channel error) instead
|
| 140 |
+
# of the channel error itself.
|
| 141 |
+
# TODO(rui): determine which error to raise if multiple
|
| 142 |
+
# actor task refs have errors.
|
| 143 |
+
actor_execution_loop_refs = list(self._dag.worker_task_refs.values())
|
| 144 |
+
try:
|
| 145 |
+
ray.get(actor_execution_loop_refs, timeout=10)
|
| 146 |
+
except GetTimeoutError as timeout_error:
|
| 147 |
+
raise Exception(
|
| 148 |
+
"Timed out when getting the actor execution loop exception. "
|
| 149 |
+
"This should not happen, please file a GitHub issue."
|
| 150 |
+
) from timeout_error
|
| 151 |
+
except Exception as execution_error:
|
| 152 |
+
# Use 'from None' to suppress the context of the original
|
| 153 |
+
# channel error, which is not useful to the user.
|
| 154 |
+
raise execution_error from None
|
| 155 |
+
else:
|
| 156 |
+
raise channel_error
|
| 157 |
+
except Exception:
|
| 158 |
+
raise
|
| 159 |
+
return _process_return_vals(return_vals, True)
|
| 160 |
+
|
| 161 |
+
|
| 162 |
+
@PublicAPI(stability="alpha")
|
| 163 |
+
class CompiledDAGFuture:
|
| 164 |
+
"""
|
| 165 |
+
A reference to a compiled DAG execution result, when executed with asyncio.
|
| 166 |
+
This differs from CompiledDAGRef in that `await` must be called on the
|
| 167 |
+
future to get the result, instead of `ray.get()`.
|
| 168 |
+
|
| 169 |
+
This resembles async usage of ObjectRefs. For example, similar to
|
| 170 |
+
ObjectRef, `await` can be called directly on the CompiledDAGFuture to
|
| 171 |
+
retrieve the result. However, there are several major differences:
|
| 172 |
+
1. `await` can only be called once per CompiledDAGFuture.
|
| 173 |
+
2. ray.wait() is not supported.
|
| 174 |
+
3. CompiledDAGFuture cannot be copied, deep copied, or pickled.
|
| 175 |
+
4. CompiledDAGFuture cannot be passed as an argument to another task.
|
| 176 |
+
"""
|
| 177 |
+
|
| 178 |
+
def __init__(
|
| 179 |
+
self,
|
| 180 |
+
dag: "ray.experimental.CompiledDAG",
|
| 181 |
+
execution_index: int,
|
| 182 |
+
fut: "asyncio.Future",
|
| 183 |
+
channel_index: Optional[int] = None,
|
| 184 |
+
):
|
| 185 |
+
self._dag = dag
|
| 186 |
+
self._execution_index = execution_index
|
| 187 |
+
self._fut = fut
|
| 188 |
+
self._channel_index = channel_index
|
| 189 |
+
|
| 190 |
+
def __str__(self):
|
| 191 |
+
return (
|
| 192 |
+
f"CompiledDAGFuture({self._dag.get_id()}, "
|
| 193 |
+
f"execution_index={self._execution_index}, "
|
| 194 |
+
f"channel_index={self._channel_index})"
|
| 195 |
+
)
|
| 196 |
+
|
| 197 |
+
def __copy__(self):
|
| 198 |
+
raise ValueError("CompiledDAGFuture cannot be copied.")
|
| 199 |
+
|
| 200 |
+
def __deepcopy__(self, memo):
|
| 201 |
+
raise ValueError("CompiledDAGFuture cannot be deep copied.")
|
| 202 |
+
|
| 203 |
+
def __reduce__(self):
|
| 204 |
+
raise ValueError("CompiledDAGFuture cannot be pickled.")
|
| 205 |
+
|
| 206 |
+
def __await__(self):
|
| 207 |
+
if self._fut is None:
|
| 208 |
+
raise ValueError(
|
| 209 |
+
"CompiledDAGFuture can only be awaited upon once, and it has "
|
| 210 |
+
"already been awaited upon."
|
| 211 |
+
)
|
| 212 |
+
|
| 213 |
+
# NOTE(swang): If the object is zero-copy deserialized, then it will
|
| 214 |
+
# stay in scope as long as this future is in scope. Therefore, we
|
| 215 |
+
# delete self._fut here before we return the result to the user.
|
| 216 |
+
fut = self._fut
|
| 217 |
+
self._fut = None
|
| 218 |
+
|
| 219 |
+
if not self._dag._has_execution_results(self._execution_index):
|
| 220 |
+
result = yield from fut.__await__()
|
| 221 |
+
self._dag._max_finished_execution_index += 1
|
| 222 |
+
self._dag._cache_execution_results(self._execution_index, result)
|
| 223 |
+
|
| 224 |
+
return_vals = self._dag._get_execution_results(
|
| 225 |
+
self._execution_index, self._channel_index
|
| 226 |
+
)
|
| 227 |
+
return _process_return_vals(return_vals, True)
|
.venv/lib/python3.11/site-packages/ray/experimental/gradio_utils.py
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
def type_to_string(_type: type) -> str:
|
| 2 |
+
"""Gets the string representation of a type.
|
| 3 |
+
|
| 4 |
+
THe original type can be derived from the returned string representation through
|
| 5 |
+
pydoc.locate().
|
| 6 |
+
"""
|
| 7 |
+
if _type.__module__ == "typing":
|
| 8 |
+
return f"{_type.__module__}.{_type._name}"
|
| 9 |
+
elif _type.__module__ == "builtins":
|
| 10 |
+
return _type.__name__
|
| 11 |
+
else:
|
| 12 |
+
return f"{_type.__module__}.{_type.__name__}"
|
.venv/lib/python3.11/site-packages/ray/experimental/internal_kv.py
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List, Optional, Union
|
| 2 |
+
|
| 3 |
+
from ray._private.client_mode_hook import client_mode_hook
|
| 4 |
+
from ray._raylet import GcsClient
|
| 5 |
+
|
| 6 |
+
_initialized = False
|
| 7 |
+
global_gcs_client = None
|
| 8 |
+
|
| 9 |
+
|
| 10 |
+
def _internal_kv_reset():
|
| 11 |
+
global global_gcs_client, _initialized
|
| 12 |
+
global_gcs_client = None
|
| 13 |
+
_initialized = False
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
def internal_kv_get_gcs_client():
|
| 17 |
+
return global_gcs_client
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
def _initialize_internal_kv(gcs_client: GcsClient):
|
| 21 |
+
"""Initialize the internal KV for use in other function calls."""
|
| 22 |
+
global global_gcs_client, _initialized
|
| 23 |
+
assert gcs_client is not None
|
| 24 |
+
global_gcs_client = gcs_client
|
| 25 |
+
_initialized = True
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
@client_mode_hook
|
| 29 |
+
def _internal_kv_initialized():
|
| 30 |
+
return global_gcs_client is not None
|
| 31 |
+
|
| 32 |
+
|
| 33 |
+
@client_mode_hook
|
| 34 |
+
def _internal_kv_get(
|
| 35 |
+
key: Union[str, bytes], *, namespace: Optional[Union[str, bytes]] = None
|
| 36 |
+
) -> bytes:
|
| 37 |
+
"""Fetch the value of a binary key."""
|
| 38 |
+
|
| 39 |
+
if isinstance(key, str):
|
| 40 |
+
key = key.encode()
|
| 41 |
+
if isinstance(namespace, str):
|
| 42 |
+
namespace = namespace.encode()
|
| 43 |
+
assert isinstance(key, bytes)
|
| 44 |
+
return global_gcs_client.internal_kv_get(key, namespace)
|
| 45 |
+
|
| 46 |
+
|
| 47 |
+
@client_mode_hook
|
| 48 |
+
def _internal_kv_exists(
|
| 49 |
+
key: Union[str, bytes], *, namespace: Optional[Union[str, bytes]] = None
|
| 50 |
+
) -> bool:
|
| 51 |
+
"""Check key exists or not."""
|
| 52 |
+
|
| 53 |
+
if isinstance(key, str):
|
| 54 |
+
key = key.encode()
|
| 55 |
+
if isinstance(namespace, str):
|
| 56 |
+
namespace = namespace.encode()
|
| 57 |
+
assert isinstance(key, bytes)
|
| 58 |
+
return global_gcs_client.internal_kv_exists(key, namespace)
|
| 59 |
+
|
| 60 |
+
|
| 61 |
+
@client_mode_hook
|
| 62 |
+
def _pin_runtime_env_uri(uri: str, *, expiration_s: int) -> None:
|
| 63 |
+
"""Pin a runtime_env URI for expiration_s."""
|
| 64 |
+
return global_gcs_client.pin_runtime_env_uri(uri, expiration_s)
|
| 65 |
+
|
| 66 |
+
|
| 67 |
+
@client_mode_hook
|
| 68 |
+
def _internal_kv_put(
|
| 69 |
+
key: Union[str, bytes],
|
| 70 |
+
value: Union[str, bytes],
|
| 71 |
+
overwrite: bool = True,
|
| 72 |
+
*,
|
| 73 |
+
namespace: Optional[Union[str, bytes]] = None
|
| 74 |
+
) -> bool:
|
| 75 |
+
"""Globally associates a value with a given binary key.
|
| 76 |
+
|
| 77 |
+
This only has an effect if the key does not already have a value.
|
| 78 |
+
|
| 79 |
+
Returns:
|
| 80 |
+
already_exists: whether the value already exists.
|
| 81 |
+
"""
|
| 82 |
+
|
| 83 |
+
if isinstance(key, str):
|
| 84 |
+
key = key.encode()
|
| 85 |
+
if isinstance(value, str):
|
| 86 |
+
value = value.encode()
|
| 87 |
+
if isinstance(namespace, str):
|
| 88 |
+
namespace = namespace.encode()
|
| 89 |
+
assert (
|
| 90 |
+
isinstance(key, bytes)
|
| 91 |
+
and isinstance(value, bytes)
|
| 92 |
+
and isinstance(overwrite, bool)
|
| 93 |
+
)
|
| 94 |
+
return global_gcs_client.internal_kv_put(key, value, overwrite, namespace) == 0
|
| 95 |
+
|
| 96 |
+
|
| 97 |
+
@client_mode_hook
|
| 98 |
+
def _internal_kv_del(
|
| 99 |
+
key: Union[str, bytes],
|
| 100 |
+
*,
|
| 101 |
+
del_by_prefix: bool = False,
|
| 102 |
+
namespace: Optional[Union[str, bytes]] = None
|
| 103 |
+
) -> int:
|
| 104 |
+
if isinstance(key, str):
|
| 105 |
+
key = key.encode()
|
| 106 |
+
if isinstance(namespace, str):
|
| 107 |
+
namespace = namespace.encode()
|
| 108 |
+
assert isinstance(key, bytes)
|
| 109 |
+
return global_gcs_client.internal_kv_del(key, del_by_prefix, namespace)
|
| 110 |
+
|
| 111 |
+
|
| 112 |
+
@client_mode_hook
|
| 113 |
+
def _internal_kv_list(
|
| 114 |
+
prefix: Union[str, bytes], *, namespace: Optional[Union[str, bytes]] = None
|
| 115 |
+
) -> List[bytes]:
|
| 116 |
+
"""List all keys in the internal KV store that start with the prefix."""
|
| 117 |
+
if isinstance(prefix, str):
|
| 118 |
+
prefix = prefix.encode()
|
| 119 |
+
if isinstance(namespace, str):
|
| 120 |
+
namespace = namespace.encode()
|
| 121 |
+
return global_gcs_client.internal_kv_keys(prefix, namespace)
|
.venv/lib/python3.11/site-packages/ray/experimental/job/example_job/__init__.py
ADDED
|
File without changes
|
.venv/lib/python3.11/site-packages/ray/experimental/job/example_job/__pycache__/__init__.cpython-311.pyc
ADDED
|
Binary file (205 Bytes). View file
|
|
|
.venv/lib/python3.11/site-packages/ray/experimental/job/example_job/__pycache__/demo_script.cpython-311.pyc
ADDED
|
Binary file (3.86 kB). View file
|
|
|