mirror of
https://github.com/vale981/ray
synced 2025-03-08 19:41:38 -05:00

* Init commit for async plasma client * Create an eventloop model for ray/plasma * Implement a poll-like selector base on `ray.wait`. Huge improvements. * Allow choosing workers & selectors * remove original design * initial implementation of epoll-like selector for plasma * Add a param for `worker` used in `PlasmaSelectorEventLoop` * Allow accepting a `Future` which returns object_id * Do not need `io.py` anymore * Create a basic testing model * fix: `ray.wait` returns tuple of lists * fix a few bugs * improving performance & bug fixing * add test * several improvements & fixing * fix relative import * [async] change code format, remove old files * [async] Create context wrapper for the eventloop * [async] fix: context should return a value * [async] Implement futures grouping * [async] Fix bugs & replace old functions * [async] Fix bugs found in tests * [async] Implement `PlasmaEpoll` * [async] Make test faster, add tests for epoll * [async] Fix code format * [async] Add comments for main code. * [async] Fix import path. * [async] Fix test. * [async] Compatibility. * [async] less verbose to not annoy the CI. * [async] Add test for new API * [async] Allow showing debug info in some of the test. * [async] Fix test. * [async] Proper shutdown. * [async] Lint~ * [async] Move files to experimental and create API * [async] Use async/await syntax * [async] Fix names & styles * [async] comments * [async] bug fixing & use pytest * [async] bug fixing & change tests * [async] use logger * [async] add tests * [async] lint * [async] type checking * [async] add more tests * [async] fix bugs on waiting a future while timeout. Add more docs. * [async] Formal docs. * [async] Add typing info since these codes are compatible with py3.5+. * [async] Documents. * [async] Lint. * [async] Fix deprecated call. * [async] Fix deprecated call. * [async] Implement a more reasonable way for dealing with pending inputs. * [async] Fix docs * [async] Lint * [async] Fix bug: Type for time * [async] Set our eventloop as the default eventloop so that we can get it through `asyncio.get_event_loop()`. * [async] Update test & docs. * [async] Lint. * [async] Temporarily print more debug info. * [async] Use `Poll` as a default option. * [async] Limit resources. * new async implementation for Ray * implement linked list * bug fix * update * support seamless async operations * update * update API * fix tests * lint * bug fix * refactor names * improve doc * properly shutdown async_api * doc * Change the table on the index page. * Adjust table size. * Only keeps `as_future`. * change how we init connection * init connection in `ray.worker.connect` * doc * fix * Move initialization code into the module. * Fix docs & code * Update pyarrow version. * lint * Restore index.rst * Add known issues. * Apply suggestions from code review Co-Authored-By: suquark <suquark@gmail.com> * rename * Update async_api.rst * Update async_api.py * Update async_api.rst * Update async_api.py * Update worker.py * Update async_api.rst * fix tests * lint * lint * replace the magic number
145 lines
4.2 KiB
ReStructuredText
145 lines
4.2 KiB
ReStructuredText
Ray
|
|
===
|
|
|
|
.. raw:: html
|
|
|
|
<embed>
|
|
<a href="https://github.com/ray-project/ray"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/365986a132ccd6a44c23a9169022c0b5c890c387/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png"></a>
|
|
</embed>
|
|
|
|
*Ray is a flexible, high-performance distributed execution framework.*
|
|
|
|
|
|
Ray is easy to install: ``pip install ray``
|
|
|
|
Example Use
|
|
-----------
|
|
|
|
+------------------------------------------------+----------------------------------------------------+
|
|
| **Basic Python** | **Distributed with Ray** |
|
|
+------------------------------------------------+----------------------------------------------------+
|
|
|.. code-block:: python |.. code-block:: python |
|
|
| | |
|
|
| # Execute f serially. | # Execute f in parallel. |
|
|
| | |
|
|
| | @ray.remote |
|
|
| def f(): | def f(): |
|
|
| time.sleep(1) | time.sleep(1) |
|
|
| return 1 | return 1 |
|
|
| | |
|
|
| | |
|
|
| | ray.init() |
|
|
| results = [f() for i in range(4)] | results = ray.get([f.remote() for i in range(4)]) |
|
|
+------------------------------------------------+----------------------------------------------------+
|
|
|
|
|
|
|
|
View the `codebase on GitHub`_.
|
|
|
|
.. _`codebase on GitHub`: https://github.com/ray-project/ray
|
|
|
|
Ray comes with libraries that accelerate deep learning and reinforcement learning development:
|
|
|
|
- `Tune`_: Scalable Hyperparameter Search
|
|
- `RLlib`_: Scalable Reinforcement Learning
|
|
- `Distributed Training <distributed_sgd.html>`__
|
|
|
|
.. _`Tune`: tune.html
|
|
.. _`RLlib`: rllib.html
|
|
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
:caption: Installation
|
|
|
|
installation.rst
|
|
install-on-docker.rst
|
|
installation-troubleshooting.rst
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
:caption: Getting Started
|
|
|
|
tutorial.rst
|
|
api.rst
|
|
actors.rst
|
|
using-ray-with-gpus.rst
|
|
webui.rst
|
|
async_api.rst
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
:caption: Tune
|
|
|
|
tune.rst
|
|
tune-usage.rst
|
|
tune-schedulers.rst
|
|
tune-searchalg.rst
|
|
tune-package-ref.rst
|
|
tune-examples.rst
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
:caption: RLlib
|
|
|
|
rllib.rst
|
|
rllib-training.rst
|
|
rllib-env.rst
|
|
rllib-algorithms.rst
|
|
rllib-models.rst
|
|
rllib-concepts.rst
|
|
rllib-package-ref.rst
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
:caption: Other Libraries
|
|
|
|
distributed_sgd.rst
|
|
pandas_on_ray.rst
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
:caption: Examples
|
|
|
|
example-rl-pong.rst
|
|
example-policy-gradient.rst
|
|
example-parameter-server.rst
|
|
example-resnet.rst
|
|
example-a3c.rst
|
|
example-lbfgs.rst
|
|
example-evolution-strategies.rst
|
|
example-cython.rst
|
|
example-streaming.rst
|
|
using-ray-with-tensorflow.rst
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
:caption: Design
|
|
|
|
internals-overview.rst
|
|
serialization.rst
|
|
fault-tolerance.rst
|
|
plasma-object-store.rst
|
|
resources.rst
|
|
redis-memory-management.rst
|
|
tempfile.rst
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
:caption: Cluster Usage
|
|
|
|
autoscaling.rst
|
|
using-ray-on-a-cluster.rst
|
|
using-ray-on-a-large-cluster.rst
|
|
using-ray-and-docker-on-a-cluster.md
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
:caption: Help
|
|
|
|
troubleshooting.rst
|
|
user-profiling.rst
|
|
security.rst
|
|
development.rst
|
|
profiling.rst
|
|
contact.rst
|