mirror of
https://github.com/vale981/ray
synced 2025-03-06 10:31:39 -05:00
![]() * Refactor ActorID, TaskID on the Java side. Left a TODO comment WIP for ObjectID ADD test Fix Add java part Fix Java test Fix Refine test. Enable test in CI * Extra a helper function. * Resolve TODOs * Fix Python CI * Fix Java lint * Update .travis.yml Co-Authored-By: Stephanie Wang <swang@cs.berkeley.edu> * Address some comments. Address some comments. Add id_specification.rst Reanme id_specification.rst to id_specification.md typo Address zhijun's comments. Fix test Address comments. Fix lint Address comments * Fix test * Address comments. * Fix build error * Update src/ray/design_docs/id_specification.md Co-Authored-By: Stephanie Wang <swang@cs.berkeley.edu> * Update src/ray/design_docs/id_specification.md Co-Authored-By: Stephanie Wang <swang@cs.berkeley.edu> * Update src/ray/design_docs/id_specification.md Co-Authored-By: Stephanie Wang <swang@cs.berkeley.edu> * Update src/ray/design_docs/id_specification.md Co-Authored-By: Stephanie Wang <swang@cs.berkeley.edu> * Update src/ray/design_docs/id_specification.md Co-Authored-By: Stephanie Wang <swang@cs.berkeley.edu> * Address comments * Update src/ray/common/id.h Co-Authored-By: Stephanie Wang <swang@cs.berkeley.edu> * Update src/ray/common/id.h Co-Authored-By: Stephanie Wang <swang@cs.berkeley.edu> * Update src/ray/common/id.h Co-Authored-By: Stephanie Wang <swang@cs.berkeley.edu> * Update src/ray/design_docs/id_specification.md Co-Authored-By: Hao Chen <chenh1024@gmail.com> * Update src/ray/design_docs/id_specification.md Co-Authored-By: Hao Chen <chenh1024@gmail.com> * Address comments. * Address comments. * Address comments. * Update C++ part to make sure task id is generated determantic * WIP * Fix core worker * Fix Java part * Fix comments. * Add Python side * Fix python * Address comments * Fix linting * Fix * Fix C++ linting * Add JobId() method to TaskID * Fix linting * Update src/ray/common/id.h Co-Authored-By: Hao Chen <chenh1024@gmail.com> * Update java/api/src/main/java/org/ray/api/id/TaskId.java Co-Authored-By: Hao Chen <chenh1024@gmail.com> * Update java/api/src/main/java/org/ray/api/id/TaskId.java Co-Authored-By: Hao Chen <chenh1024@gmail.com> * Update java/api/src/main/java/org/ray/api/id/ActorId.java Co-Authored-By: Hao Chen <chenh1024@gmail.com> * Address comments * Add DriverTaskId embeding job id * Fix tests * Add python dor_fake_driver_id * Address comments and fix linting * Fix CI |
||
---|---|---|
.. | ||
api | ||
doc | ||
runtime | ||
streaming | ||
test | ||
tutorial | ||
BUILD.bazel | ||
checkstyle-suppressions.xml | ||
checkstyle.xml | ||
cleanup.sh | ||
dependencies.bzl | ||
example.conf | ||
modify_generated_java_flatbuffers_files.py | ||
pom.xml | ||
README.rst | ||
test.sh | ||
testng.xml |
Quick start =========== Configuration ------------- Ray will read your configurations in the following order: * Java system properties: e.g., ``-Dray.run-mode=SINGLE_PROCESS``. * A ``ray.conf`` file in the classpath: `example <https://github.com/ray-project/ray/blob/master/java/example.conf>`_. * Customise your own ``ray.conf`` path using system property ``-Dray.config=/path/to/ray.conf`` For all available config items and default values, see `this file <https://github.com/ray-project/ray/blob/master/java/runtime/src/main/resources/ray.default.conf>`_. Starting Ray ------------ .. code:: java Ray.init(); Read and write remote objects ----------------------------- Each remote object is considered a ``RayObject<T>`` where ``T`` is the type for this object. You can use ``Ray.put`` and ``RayObject<T>.get`` to write and read the objects. .. code:: java Integer x = 1; RayObject<Integer> obj = Ray.put(x); Integer x1 = obj.get(); assert (x.equals(x1)); Remote functions ---------------- Here is an ordinary java code piece for composing ``hello world example``. .. code:: java public class ExampleClass { public static void main(String[] args) { String str1 = add("hello", "world"); String str = add(str1, "example"); System.out.println(str); } public static String add(String a, String b) { return a + " " + b; } } We use ``@RayRemote`` to indicate that a function is remote, and use ``Ray.call`` to invoke it. The result from the latter is a ``RayObject<R>`` where ``R`` is the return type of the target function. The following shows the changed example with ``add`` annotated, and correspondent calls executed on remote machines. .. code:: java public class ExampleClass { public static void main(String[] args) { Ray.init(); RayObject<String> objStr1 = Ray.call(ExampleClass::add, "hello", "world"); RayObject<String> objStr2 = Ray.call(ExampleClass::add, objStr1, "example"); String str = objStr2.get(); System.out.println(str); } @RayRemote public static String add(String a, String b) { return a + " " + b; } } More information ================ - `Installation <https://github.com/ray-project/ray/tree/master/java/doc/installation.rst>`_ - `API document <https://github.com/ray-project/ray/tree/master/java/doc/api.rst>`_ - `Tutorial <https://github.com/ray-project/ray/tree/master/java/tutorial>`_